packages feed

beam-core 0.11.0.0 → 0.11.1.0

raw patch · 11 files changed

+726/−12 lines, 11 filesdep −ghc-primdep ~aesonPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: ghc-prim

Dependency ranges changed: aeson

API changes (from Hackage documentation)

- Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Base.Monoid s) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.Writer.Lazy.WriterT s m)
- Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Base.Monoid s) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.Writer.Strict.WriterT s m)
- Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
- Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Base.String
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Int.Int16
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Int.Int32
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Int.Int64
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Word.Word16
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Word.Word32
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Word.Word64
- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value x => Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value (GHC.Maybe.Maybe x)
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Command
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.ComparatorQuantifier
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.DataType
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Delete
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Expression
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.ExtractField
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.FieldName
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.From
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Grouping
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Insert
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.InsertValues
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Ordering
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Projection
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.SchemaName
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Select
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.SelectTable
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.SetQuantifier
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.TableName
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.TableSource
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Update
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.Value
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.WindowFrame
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.WindowFrameBound
- Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.WindowFrameBounds
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.Writer.Lazy.WriterT r m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.Writer.Strict.WriterT r m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.Writer.Lazy.WriterT r m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.Writer.Strict.WriterT r m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.Writer.Lazy.WriterT r m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.Writer.Strict.WriterT r m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
- Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
- Database.Beam.Backend.SQL.BeamExtensions: instance GHC.Base.Monoid (Database.Beam.Backend.SQL.BeamExtensions.InaccessibleQAssignment be)
- Database.Beam.Backend.SQL.BeamExtensions: instance GHC.Base.Semigroup (Database.Beam.Backend.SQL.BeamExtensions.InaccessibleQAssignment be)
- Database.Beam.Backend.SQL.Builder: instance Control.Monad.Fail.MonadFail Database.Beam.Backend.SQL.Builder.SqlSyntaxM
- Database.Beam.Backend.SQL.Builder: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder GHC.Int.Int32
- Database.Beam.Backend.SQL.Builder: instance GHC.Base.Applicative Database.Beam.Backend.SQL.Builder.SqlSyntaxM
- Database.Beam.Backend.SQL.Builder: instance GHC.Base.Functor Database.Beam.Backend.SQL.Builder.SqlSyntaxM
- Database.Beam.Backend.SQL.Builder: instance GHC.Base.Monad Database.Beam.Backend.SQL.Builder.SqlSyntaxM
- Database.Beam.Backend.SQL.Builder: instance GHC.Base.Monoid Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder
- Database.Beam.Backend.SQL.Builder: instance GHC.Base.Semigroup Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder
- Database.Beam.Backend.SQL.Builder: instance GHC.Show.Show Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder
- Database.Beam.Backend.SQL.Builder: instance GHC.Show.Show Database.Beam.Backend.SQL.Builder.SqlWindowFrameBound
- Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.SQL.Row.FromBackendRow be x, Database.Beam.Backend.SQL.Row.FromBackendRow be Database.Beam.Backend.SQL.Types.SqlNull) => Database.Beam.Backend.SQL.Row.FromBackendRow be (GHC.Maybe.Maybe x)
- Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.SQL.Row.GFromBackendRow be aExp a, Database.Beam.Backend.SQL.Row.GFromBackendRow be bExp b) => Database.Beam.Backend.SQL.Row.GFromBackendRow be (aExp GHC.Generics.:*: bExp) (a GHC.Generics.:*: b)
- Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.Types.BeamBackend be, GHC.Generics.Generic (tbl (Database.Beam.Backend.Types.Nullable Data.Functor.Identity.Identity)), GHC.Generics.Generic (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed)), Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.Rep (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Generics.Rep (tbl (Database.Beam.Backend.Types.Nullable Data.Functor.Identity.Identity)))) => Database.Beam.Backend.SQL.Row.FromBackendRow be (tbl (Database.Beam.Backend.Types.Nullable Data.Functor.Identity.Identity))
- Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.Types.BeamBackend be, GHC.Generics.Generic (tbl Data.Functor.Identity.Identity), GHC.Generics.Generic (tbl Database.Beam.Backend.Types.Exposed), Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.Rep (tbl Database.Beam.Backend.Types.Exposed)) (GHC.Generics.Rep (tbl Data.Functor.Identity.Identity))) => Database.Beam.Backend.SQL.Row.FromBackendRow be (tbl Data.Functor.Identity.Identity)
- Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.Types.BeamBackend be, GHC.TypeNats.KnownNat n, Database.Beam.Backend.SQL.Row.FromBackendRow be a) => Database.Beam.Backend.SQL.Row.FromBackendRow be (Data.Vector.Sized.Vector n a)
- Database.Beam.Backend.SQL.Row: instance Control.Monad.Fail.MonadFail (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
- Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be (t (Database.Beam.Backend.Types.Nullable Data.Functor.Identity.Identity)) => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.K1 GHC.Generics.R (t (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Generics.K1 GHC.Generics.R (t (Database.Beam.Backend.Types.Nullable Data.Functor.Identity.Identity)))
- Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be (t Data.Functor.Identity.Identity) => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.K1 GHC.Generics.R (t Database.Beam.Backend.Types.Exposed)) (GHC.Generics.K1 GHC.Generics.R (t Data.Functor.Identity.Identity))
- Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be a => Database.Beam.Backend.SQL.Row.FromBackendRow be (Data.Functor.Identity.Identity a)
- Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be x => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Backend.Types.Exposed x)) (GHC.Generics.K1 GHC.Generics.R (Data.Functor.Identity.Identity x))
- Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be x => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Backend.Types.Exposed x)) (GHC.Generics.K1 GHC.Generics.R x)
- Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.GFromBackendRow be e GHC.Generics.U1
- Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.GFromBackendRow be e p => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.M1 t f e) (GHC.Generics.M1 t f p)
- Database.Beam.Backend.SQL.Row: instance GHC.Base.Alternative (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
- Database.Beam.Backend.SQL.Row: instance GHC.Base.Applicative (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
- Database.Beam.Backend.SQL.Row: instance GHC.Base.Functor (Database.Beam.Backend.SQL.Row.FromBackendRowF be)
- Database.Beam.Backend.SQL.Row: instance GHC.Base.Functor (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
- Database.Beam.Backend.SQL.Row: instance GHC.Base.Monad (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
- Database.Beam.Backend.SQL.Row: instance GHC.Exception.Type.Exception Database.Beam.Backend.SQL.Row.BeamRowReadError
- Database.Beam.Backend.SQL.Row: instance GHC.Show.Show Database.Beam.Backend.SQL.Row.BeamRowReadError
- Database.Beam.Backend.SQL.Row: instance GHC.Show.Show Database.Beam.Backend.SQL.Row.ColumnParseError
- Database.Beam.Backend.SQL.Types: instance GHC.Bits.Bits Database.Beam.Backend.SQL.Types.SqlBitString
- Database.Beam.Backend.SQL.Types: instance GHC.Enum.Bounded Database.Beam.Backend.SQL.Types.SqlNull
- Database.Beam.Backend.SQL.Types: instance GHC.Enum.Enum Database.Beam.Backend.SQL.Types.SqlBitString
- Database.Beam.Backend.SQL.Types: instance GHC.Enum.Enum Database.Beam.Backend.SQL.Types.SqlNull
- Database.Beam.Backend.SQL.Types: instance GHC.Enum.Enum a => GHC.Enum.Enum (Database.Beam.Backend.SQL.Types.SqlSerial a)
- Database.Beam.Backend.SQL.Types: instance GHC.Generics.Generic (Database.Beam.Backend.SQL.Types.SqlSerial a)
- Database.Beam.Backend.SQL.Types: instance GHC.Generics.Generic Database.Beam.Backend.SQL.Types.SqlBitString
- Database.Beam.Backend.SQL.Types: instance GHC.Generics.Generic Database.Beam.Backend.SQL.Types.SqlNull
- Database.Beam.Backend.SQL.Types: instance GHC.Num.Num a => GHC.Num.Num (Database.Beam.Backend.SQL.Types.SqlSerial a)
- Database.Beam.Backend.SQL.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.Beam.Backend.SQL.Types.SqlSerial a)
- Database.Beam.Backend.SQL.Types: instance GHC.Real.Integral a => GHC.Real.Integral (Database.Beam.Backend.SQL.Types.SqlSerial a)
- Database.Beam.Backend.SQL.Types: instance GHC.Real.Real a => GHC.Real.Real (Database.Beam.Backend.SQL.Types.SqlSerial a)
- Database.Beam.Backend.SQL.Types: instance GHC.Show.Show Database.Beam.Backend.SQL.Types.SqlBitString
- Database.Beam.Backend.SQL.Types: instance GHC.Show.Show Database.Beam.Backend.SQL.Types.SqlNull
- Database.Beam.Backend.SQL.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Beam.Backend.SQL.Types.SqlSerial a)
- Database.Beam.Backend.URI: instance GHC.Base.Monoid (Database.Beam.Backend.URI.BeamURIOpeners c)
- Database.Beam.Backend.URI: instance GHC.Base.Semigroup (Database.Beam.Backend.URI.BeamURIOpeners c)
- Database.Beam.Backend.URI: instance GHC.Exception.Type.Exception Database.Beam.Backend.URI.BeamOpenURIInvalid
- Database.Beam.Backend.URI: instance GHC.Exception.Type.Exception Database.Beam.Backend.URI.BeamOpenURIUnsupportedScheme
- Database.Beam.Backend.URI: instance GHC.Exception.Type.Exception Database.Beam.Backend.URI.BeamResourceNotFound
- Database.Beam.Backend.URI: instance GHC.Show.Show Database.Beam.Backend.URI.BeamOpenURIInvalid
- Database.Beam.Backend.URI: instance GHC.Show.Show Database.Beam.Backend.URI.BeamOpenURIUnsupportedScheme
- Database.Beam.Backend.URI: instance GHC.Show.Show Database.Beam.Backend.URI.BeamResourceNotFound
- Database.Beam.Query.CTE: instance Database.Beam.Backend.SQL.SQL99.IsSql99RecursiveCommonTableExpressionSelectSyntax (Database.Beam.Backend.SQL.BeamSqlBackendSelectSyntax be) => Control.Monad.Fix.MonadFix (Database.Beam.Query.CTE.With be db)
- Database.Beam.Query.CTE: instance GHC.Base.Applicative (Database.Beam.Query.CTE.With be db)
- Database.Beam.Query.CTE: instance GHC.Base.Functor (Database.Beam.Query.CTE.With be db)
- Database.Beam.Query.CTE: instance GHC.Base.Monad (Database.Beam.Query.CTE.With be db)
- Database.Beam.Query.CTE: instance GHC.Base.Monoid (Database.Beam.Query.CTE.Recursiveness be)
- Database.Beam.Query.CTE: instance GHC.Base.Semigroup (Database.Beam.Query.CTE.Recursiveness be)
- Database.Beam.Query.CustomSQL: instance Data.String.IsString (Database.Beam.Query.CustomSQL.CustomSqlSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder)
- Database.Beam.Query.CustomSQL: instance Database.Beam.Query.CustomSQL.IsCustomSqlSyntax (Database.Beam.Backend.SQL.BeamSqlBackendExpressionSyntax be) => Data.String.IsString (Database.Beam.Query.CustomSQL.CustomSqlSnippet be)
- Database.Beam.Query.CustomSQL: instance Database.Beam.Query.CustomSQL.IsCustomSqlSyntax (Database.Beam.Backend.SQL.BeamSqlBackendExpressionSyntax be) => GHC.Base.Monoid (Database.Beam.Query.CustomSQL.CustomSqlSnippet be)
- Database.Beam.Query.CustomSQL: instance Database.Beam.Query.CustomSQL.IsCustomSqlSyntax (Database.Beam.Backend.SQL.BeamSqlBackendExpressionSyntax be) => GHC.Base.Semigroup (Database.Beam.Query.CustomSQL.CustomSqlSnippet be)
- Database.Beam.Query.CustomSQL: instance GHC.Base.Monoid (Database.Beam.Query.CustomSQL.CustomSqlSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder)
- Database.Beam.Query.CustomSQL: instance GHC.Base.Semigroup (Database.Beam.Query.CustomSQL.CustomSqlSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder)
- Database.Beam.Query.DataTypes: instance Database.Beam.Backend.SQL.SQL92.Sql92DisplaySyntax (Database.Beam.Backend.SQL.BeamSqlBackendCastTargetSyntax be) => GHC.Show.Show (Database.Beam.Query.DataTypes.DataType be a)
- Database.Beam.Query.Internal: instance (Data.Typeable.Internal.Typeable context, Database.Beam.Query.Internal.IsWindowFrameContext context, context GHC.Types.~ Database.Beam.Query.Internal.QWindowFrameContext) => Database.Beam.Query.Internal.WindowFrameContext context
- Database.Beam.Query.Internal: instance (Database.Beam.Backend.SQL.BeamSqlBackend backend, Database.Beam.Backend.SQL.BeamSqlBackendCanSerialize backend [GHC.Types.Char]) => Data.String.IsString (Database.Beam.Query.Internal.QGenExpr context backend s Data.Text.Internal.Text)
- Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.ContextRewritable a, GHC.TypeNats.KnownNat n) => Database.Beam.Query.Internal.ContextRewritable (Data.Vector.Sized.Vector n a)
- Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.IsAggregateContext a, Data.Typeable.Internal.Typeable a) => Database.Beam.Query.Internal.AggregateContext a
- Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.IsValueContext a, Data.Typeable.Internal.Typeable a, a GHC.Types.~ Database.Beam.Query.Internal.QValueContext) => Database.Beam.Query.Internal.ValueContext a
- Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.ProjectibleWithPredicate contextPredicate be res a, GHC.TypeNats.KnownNat n) => Database.Beam.Query.Internal.ProjectibleWithPredicate contextPredicate be res (Data.Vector.Sized.Vector n a)
- Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.ThreadRewritable s a, GHC.TypeNats.KnownNat n) => Database.Beam.Query.Internal.ThreadRewritable s (Data.Vector.Sized.Vector n a)
- Database.Beam.Query.Internal: instance (GHC.Num.Num a, Database.Beam.Backend.SQL.BeamSqlBackend be, Database.Beam.Backend.SQL.BeamSqlBackendCanSerialize be a) => GHC.Num.Num (Database.Beam.Query.Internal.QGenExpr context be s a)
- Database.Beam.Query.Internal: instance (GHC.Real.Fractional a, Database.Beam.Backend.SQL.BeamSqlBackend be, Database.Beam.Backend.SQL.BeamSqlBackendCanSerialize be a) => GHC.Real.Fractional (Database.Beam.Query.Internal.QGenExpr context be s a)
- Database.Beam.Query.Internal: instance Database.Beam.Query.Internal.ProjectibleWithPredicate Database.Beam.Query.Internal.AnyType () res (Data.Functor.Const.Const res a)
- Database.Beam.Query.Internal: instance Database.Beam.Schema.Tables.Beamable t => Database.Beam.Query.Internal.ProjectibleWithPredicate Database.Beam.Query.Internal.AnyType () Data.Text.Internal.Text (t (Database.Beam.Backend.Types.Nullable (Data.Functor.Const.Const Data.Text.Internal.Text)))
- Database.Beam.Query.Internal: instance Database.Beam.Schema.Tables.Beamable t => Database.Beam.Query.Internal.ProjectibleWithPredicate Database.Beam.Query.Internal.AnyType () res (t (Data.Functor.Const.Const res))
- Database.Beam.Query.Internal: instance GHC.Base.Applicative (Database.Beam.Query.Internal.Q be db s)
- Database.Beam.Query.Internal: instance GHC.Base.Functor (Database.Beam.Query.Internal.Q be db s)
- Database.Beam.Query.Internal: instance GHC.Base.Functor (Database.Beam.Query.Internal.QF be db s)
- Database.Beam.Query.Internal: instance GHC.Base.Monad (Database.Beam.Query.Internal.Q be db s)
- Database.Beam.Query.Internal: instance GHC.Base.Monoid (Database.Beam.Query.Internal.QAssignment be s)
- Database.Beam.Query.Internal: instance GHC.Base.Semigroup (Database.Beam.Query.Internal.QAssignment be s)
- Database.Beam.Query.Internal: instance GHC.Show.Show (Database.Beam.Query.Internal.QField s ty)
- Database.Beam.Query.SQL92: instance (GHC.Base.Monoid a, Database.Beam.Query.Internal.ProjectibleWithPredicate c syntax res b) => Database.Beam.Query.Internal.ProjectibleWithPredicate c syntax res (Database.Beam.Query.SQL92.PreserveLeft a b)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.Database be embedded, GHC.Generics.Generic (Database.Beam.Schema.Tables.DatabaseSettings be embedded), Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Generics.Rep (Database.Beam.Schema.Tables.DatabaseSettings be embedded) ())) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Generics.S1 f (GHC.Generics.K1 GHC.Generics.R (embedded (Database.Beam.Schema.Tables.DatabaseEntity be super))) p)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GAutoDbSettings (x p), Database.Beam.Schema.Tables.GAutoDbSettings (y p)) => Database.Beam.Schema.Tables.GAutoDbSettings ((GHC.Generics.:*:) x y p)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GDefaultTableFieldSettings (a p), Database.Beam.Schema.Tables.GDefaultTableFieldSettings (b p)) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings ((GHC.Generics.:*:) a b p)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GFieldsFulfillConstraint c aExp aC, Database.Beam.Schema.Tables.GFieldsFulfillConstraint c bExp bC) => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (aExp GHC.Generics.:*: bExp) (aC GHC.Generics.:*: bC)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GTableSkeleton a, Database.Beam.Schema.Tables.GTableSkeleton b) => Database.Beam.Schema.Tables.GTableSkeleton (a GHC.Generics.:*: b)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GZipDatabase be f g h ax ay az, Database.Beam.Schema.Tables.GZipDatabase be f g h bx by bz) => Database.Beam.Schema.Tables.GZipDatabase be f g h (ax GHC.Generics.:*: bx) (ay GHC.Generics.:*: by) (az GHC.Generics.:*: bz)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GZipTables f g h exp1 f1 g1 h1, Database.Beam.Schema.Tables.GZipTables f g h exp2 f2 g2 h2) => Database.Beam.Schema.Tables.GZipTables f g h (exp1 GHC.Generics.:*: exp2) (f1 GHC.Generics.:*: f2) (g1 GHC.Generics.:*: g2) (h1 GHC.Generics.:*: h2)
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.IsDatabaseEntity be tbl, Database.Beam.Schema.Tables.DatabaseEntityRegularRequirements be tbl) => Database.Beam.Schema.Tables.GZipDatabase be f g h (GHC.Generics.K1 GHC.Generics.R (f tbl)) (GHC.Generics.K1 GHC.Generics.R (g tbl)) (GHC.Generics.K1 GHC.Generics.R (h tbl))
- Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.Table rel, GHC.Generics.Generic (rel (Database.Beam.Schema.Tables.TableField rel)), Database.Beam.Schema.Tables.TagReducesTo f (Database.Beam.Schema.Tables.TableField tbl), Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Generics.Rep (rel (Database.Beam.Schema.Tables.TableField rel)) ())) => Database.Beam.Schema.Tables.SubTableStrategyImpl 'Database.Beam.Schema.Tables.PrimaryKeyStrategy f (Database.Beam.Schema.Tables.PrimaryKey rel)
- Database.Beam.Schema.Tables: instance (GHC.Generics.Generic (sub f), Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Generics.Rep (sub f) ())) => Database.Beam.Schema.Tables.SubTableStrategyImpl 'Database.Beam.Schema.Tables.BeamableStrategy f sub
- Database.Beam.Schema.Tables: instance (GHC.Generics.Selector f', Database.Beam.Schema.Tables.ChooseSubTableStrategy tbl sub GHC.Types.~ strategy, Database.Beam.Schema.Tables.SubTableStrategyImpl strategy f sub, Database.Beam.Schema.Tables.TagReducesTo f (Database.Beam.Schema.Tables.TableField tbl), Database.Beam.Schema.Tables.Beamable sub) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Generics.S1 f' (GHC.Generics.K1 GHC.Generics.R (sub f)) p)
- Database.Beam.Schema.Tables: instance (GHC.Generics.Selector f, Database.Beam.Schema.Tables.IsDatabaseEntity be x, Database.Beam.Schema.Tables.DatabaseEntityDefaultRequirements be x) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Generics.S1 f (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Schema.Tables.DatabaseEntity be db x)) p)
- Database.Beam.Schema.Tables: instance (TypeError ...) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Generics.K1 r f p)
- Database.Beam.Schema.Tables: instance (fa GHC.Types.~ Database.Beam.Schema.Tables.Columnar f a, ga GHC.Types.~ Database.Beam.Schema.Tables.Columnar g a, ha GHC.Types.~ Database.Beam.Schema.Tables.Columnar h a, ha GHC.Types.~ Database.Beam.Schema.Tables.Columnar h a) => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Backend.Types.Exposed a)) (GHC.Generics.K1 GHC.Generics.R fa) (GHC.Generics.K1 GHC.Generics.R ga) (GHC.Generics.K1 GHC.Generics.R ha)
- Database.Beam.Schema.Tables: instance Data.String.IsString (Database.Beam.Schema.Tables.FieldModification (Database.Beam.Schema.Tables.TableField tbl) a)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GTableSkeleton (GHC.Generics.K1 GHC.Generics.R (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Schema.Tables.Ignored)))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GTableSkeleton (GHC.Generics.K1 GHC.Generics.R (tbl Database.Beam.Schema.Tables.Ignored))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Generics.K1 GHC.Generics.R (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Generics.K1 GHC.Generics.R (tbl (Database.Beam.Backend.Types.Nullable f))) (GHC.Generics.K1 GHC.Generics.R (tbl (Database.Beam.Backend.Types.Nullable g))) (GHC.Generics.K1 GHC.Generics.R (tbl (Database.Beam.Backend.Types.Nullable h)))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Generics.K1 GHC.Generics.R (tbl Database.Beam.Backend.Types.Exposed)) (GHC.Generics.K1 GHC.Generics.R (tbl f)) (GHC.Generics.K1 GHC.Generics.R (tbl g)) (GHC.Generics.K1 GHC.Generics.R (tbl h))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Database be db => Database.Beam.Schema.Tables.GZipDatabase be f g h (GHC.Generics.K1 GHC.Generics.R (db f)) (GHC.Generics.K1 GHC.Generics.R (db g)) (GHC.Generics.K1 GHC.Generics.R (db h))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.FieldsFulfillConstraint c t => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Generics.K1 GHC.Generics.R (t Database.Beam.Backend.Types.Exposed)) (GHC.Generics.K1 GHC.Generics.R (t (Database.Beam.Schema.Tables.HasConstraint c)))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.FieldsFulfillConstraintNullable c t => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Generics.K1 GHC.Generics.R (t (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Generics.K1 GHC.Generics.R (t (Database.Beam.Backend.Types.Nullable (Database.Beam.Schema.Tables.HasConstraint c))))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GAutoDbSettings (x p) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Generics.C1 f x p)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GAutoDbSettings (x p) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Generics.D1 f x p)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GDefaultTableFieldSettings (p x) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Generics.C1 f p x)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GDefaultTableFieldSettings (p x) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Generics.D1 f p x)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GFieldsFulfillConstraint c GHC.Generics.U1 GHC.Generics.U1
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GFieldsFulfillConstraint c exposed withconstraint => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Generics.M1 s m exposed) (GHC.Generics.M1 s m withconstraint)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GTableSkeleton (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Schema.Tables.Ignored field))
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GTableSkeleton GHC.Generics.U1
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GTableSkeleton p => Database.Beam.Schema.Tables.GTableSkeleton (GHC.Generics.M1 t f p)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GZipDatabase be f g h x y z => Database.Beam.Schema.Tables.GZipDatabase be f g h (GHC.Generics.M1 a b x) (GHC.Generics.M1 a b y) (GHC.Generics.M1 a b z)
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GZipTables f g h GHC.Generics.U1 GHC.Generics.U1 GHC.Generics.U1 GHC.Generics.U1
- Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GZipTables f g h exp fRep gRep hRep => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Generics.M1 x y exp) (GHC.Generics.M1 x y fRep) (GHC.Generics.M1 x y gRep) (GHC.Generics.M1 x y hRep)
- Database.Beam.Schema.Tables: instance GHC.Base.Monoid (Database.Beam.Schema.Tables.EntityModification f be e)
- Database.Beam.Schema.Tables: instance GHC.Base.Semigroup (Database.Beam.Schema.Tables.EntityModification f be e)
- Database.Beam.Schema.Tables: instance GHC.Generics.Selector f => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Generics.S1 f (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Schema.Tables.TableField table field)) p)
- Database.Beam.Schema.Tables: instance GHC.Show.Show (Database.Beam.Schema.Tables.TableField table ty)
- Database.Beam.Schema.Tables: instance c x => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Backend.Types.Exposed x)) (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Schema.Tables.HasConstraint c x))
+ Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Internal.Base.Monoid s) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.Writer.Lazy.WriterT s m)
+ Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Internal.Base.Monoid s) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.Writer.Strict.WriterT s m)
+ Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Database.Beam.Backend.SQL: instance (Database.Beam.Backend.SQL.MonadBeam be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.MonadBeam be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Internal.Base.String
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Internal.Int.Int16
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Internal.Int.Int32
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Internal.Int.Int64
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Internal.Word.Word16
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Internal.Word.Word32
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value GHC.Internal.Word.Word64
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value x => Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value (GHC.Internal.Maybe.Maybe x)
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Command
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.ComparatorQuantifier
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.DataType
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Delete
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Expression
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.ExtractField
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.FieldName
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.From
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Grouping
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Insert
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.InsertValues
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Ordering
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Projection
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.SchemaName
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Select
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.SelectTable
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.SetQuantifier
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.TableName
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.TableSource
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Update
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.Value
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.WindowFrame
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.WindowFrameBound
+ Database.Beam.Backend.SQL.AST: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.AST.WindowFrameBounds
+ Database.Beam.Backend.SQL.BeamExtensions: -- <tt>SELECT</tt> query.
+ Database.Beam.Backend.SQL.BeamExtensions: -- COPY, this can be a table (perhaps with a projection) or a
+ Database.Beam.Backend.SQL.BeamExtensions: -- can be either a table (and optional projection), or a select
+ Database.Beam.Backend.SQL.BeamExtensions: -- chunks flow through the connection.
+ Database.Beam.Backend.SQL.BeamExtensions: -- performed (format, delimiter, etc.). Unlike the file-mode params,
+ Database.Beam.Backend.SQL.BeamExtensions: -- performed, including the source of the data (e.g. a filepath).
+ Database.Beam.Backend.SQL.BeamExtensions: -- performed. Unlike the file-mode params, there is no source path —
+ Database.Beam.Backend.SQL.BeamExtensions: -- statement.
+ Database.Beam.Backend.SQL.BeamExtensions: -- there is no destination — chunks flow through the connection.
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyFrom :: !BeamSqlBackendCopyFromSyntax be -> SqlCopyFrom be a
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyFromNoColumns :: SqlCopyFrom be a
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyFromStream :: !BeamSqlBackendCopyFromStreamSyntax be -> SqlCopyFromStream be a
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyFromStreamNoColumns :: SqlCopyFromStream be a
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyTo :: !BeamSqlBackendCopyToSyntax be -> SqlCopyTo be a
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyToNoColumns :: SqlCopyTo be a
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyToStream :: !BeamSqlBackendCopyToStreamSyntax be -> SqlCopyToStream be a
+ Database.Beam.Backend.SQL.BeamExtensions: SqlCopyToStreamNoColumns :: SqlCopyToStream be a
+ Database.Beam.Backend.SQL.BeamExtensions: class IsSqlCopyFromSourceSyntax syntax
+ Database.Beam.Backend.SQL.BeamExtensions: class IsSqlCopyFromSourceSyntax SqlCopyFromStreamSourceSyntax cmd => IsSqlCopyFromStreamSyntax cmd where {
+ Database.Beam.Backend.SQL.BeamExtensions: class IsSqlCopyFromSourceSyntax SqlCopyFromSourceSyntax cmd => IsSqlCopyFromSyntax cmd where {
+ Database.Beam.Backend.SQL.BeamExtensions: class IsSqlCopyToSourceSyntax syntax where {
+ Database.Beam.Backend.SQL.BeamExtensions: class IsSqlCopyToSourceSyntax SqlCopyToStreamSourceSyntax cmd => IsSqlCopyToStreamSyntax cmd where {
+ Database.Beam.Backend.SQL.BeamExtensions: class IsSqlCopyToSourceSyntax SqlCopyToSourceSyntax cmd => IsSqlCopyToSyntax cmd where {
+ Database.Beam.Backend.SQL.BeamExtensions: class MonadBeam be m => MonadBeamCopyFrom be (m :: Type -> Type) | m -> be
+ Database.Beam.Backend.SQL.BeamExtensions: class MonadBeam be m => MonadBeamCopyFromStream be (m :: Type -> Type) | m -> be
+ Database.Beam.Backend.SQL.BeamExtensions: class MonadBeam be m => MonadBeamCopyTo be (m :: Type -> Type) | m -> be
+ Database.Beam.Backend.SQL.BeamExtensions: class MonadBeam be m => MonadBeamCopyToStream be (m :: Type -> Type) | m -> be
+ Database.Beam.Backend.SQL.BeamExtensions: copyFromStmt :: IsSqlCopyFromSyntax cmd => SqlCopyFromSourceSyntax cmd -> SqlCopyFromParams cmd -> cmd
+ Database.Beam.Backend.SQL.BeamExtensions: copyFromStreamStmt :: IsSqlCopyFromStreamSyntax cmd => SqlCopyFromStreamSourceSyntax cmd -> SqlCopyFromStreamParams cmd -> cmd
+ Database.Beam.Backend.SQL.BeamExtensions: copySelectTo :: (IsSqlCopyToSyntax (BeamSqlBackendCopyToSyntax be), SqlCopyToSourceSelectSyntax (SqlCopyToSourceSyntax (BeamSqlBackendCopyToSyntax be)) ~ BeamSqlBackendSelectSyntax be) => SqlSelect be a -> SqlCopyToParams (BeamSqlBackendCopyToSyntax be) -> SqlCopyTo be a
+ Database.Beam.Backend.SQL.BeamExtensions: copySelectToStream :: (IsSqlCopyToStreamSyntax (BeamSqlBackendCopyToStreamSyntax be), SqlCopyToSourceSelectSyntax (SqlCopyToStreamSourceSyntax (BeamSqlBackendCopyToStreamSyntax be)) ~ BeamSqlBackendSelectSyntax be) => SqlSelect be a -> SqlCopyToStreamParams (BeamSqlBackendCopyToStreamSyntax be) -> SqlCopyToStream be a
+ Database.Beam.Backend.SQL.BeamExtensions: copySelectToSyntax :: IsSqlCopyToSourceSyntax syntax => SqlCopyToSourceSelectSyntax syntax -> syntax
+ Database.Beam.Backend.SQL.BeamExtensions: copyTableFrom :: forall be proj (db :: (Type -> Type) -> Type) table s. (IsSqlCopyFromSyntax (BeamSqlBackendCopyFromSyntax be), ProjectibleWithPredicate AnyType () Text proj) => DatabaseEntity be db (TableEntity table) -> (table (QField s) -> proj) -> SqlCopyFromParams (BeamSqlBackendCopyFromSyntax be) -> SqlCopyFrom be proj
+ Database.Beam.Backend.SQL.BeamExtensions: copyTableFromStream :: forall be proj (db :: (Type -> Type) -> Type) table s. (IsSqlCopyFromStreamSyntax (BeamSqlBackendCopyFromStreamSyntax be), ProjectibleWithPredicate AnyType () Text proj) => DatabaseEntity be db (TableEntity table) -> (table (QField s) -> proj) -> SqlCopyFromStreamParams (BeamSqlBackendCopyFromStreamSyntax be) -> SqlCopyFromStream be proj
+ Database.Beam.Backend.SQL.BeamExtensions: copyTableFromSyntax :: IsSqlCopyFromSourceSyntax syntax => Maybe Text -> Text -> Maybe (NonEmpty Text) -> syntax
+ Database.Beam.Backend.SQL.BeamExtensions: copyTableTo :: forall be proj (db :: (Type -> Type) -> Type) table s. (IsSqlCopyToSyntax (BeamSqlBackendCopyToSyntax be), ProjectibleWithPredicate AnyType () Text proj) => DatabaseEntity be db (TableEntity table) -> (table (QField s) -> proj) -> SqlCopyToParams (BeamSqlBackendCopyToSyntax be) -> SqlCopyTo be proj
+ Database.Beam.Backend.SQL.BeamExtensions: copyTableToStream :: forall be proj (db :: (Type -> Type) -> Type) table s. (IsSqlCopyToStreamSyntax (BeamSqlBackendCopyToStreamSyntax be), ProjectibleWithPredicate AnyType () Text proj) => DatabaseEntity be db (TableEntity table) -> (table (QField s) -> proj) -> SqlCopyToStreamParams (BeamSqlBackendCopyToStreamSyntax be) -> SqlCopyToStream be proj
+ Database.Beam.Backend.SQL.BeamExtensions: copyTableToSyntax :: IsSqlCopyToSourceSyntax syntax => Maybe Text -> Text -> Maybe (NonEmpty Text) -> syntax
+ Database.Beam.Backend.SQL.BeamExtensions: copyToStmt :: IsSqlCopyToSyntax cmd => SqlCopyToSourceSyntax cmd -> SqlCopyToParams cmd -> cmd
+ Database.Beam.Backend.SQL.BeamExtensions: copyToStreamStmt :: IsSqlCopyToStreamSyntax cmd => SqlCopyToStreamSourceSyntax cmd -> SqlCopyToStreamParams cmd -> cmd
+ Database.Beam.Backend.SQL.BeamExtensions: data SqlCopyFrom be a
+ Database.Beam.Backend.SQL.BeamExtensions: data SqlCopyFromStream be a
+ Database.Beam.Backend.SQL.BeamExtensions: data SqlCopyTo be a
+ Database.Beam.Backend.SQL.BeamExtensions: data SqlCopyToStream be a
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Internal.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.Writer.Lazy.WriterT r m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Internal.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.Writer.Strict.WriterT r m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamDeleteReturning be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Internal.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.Writer.Lazy.WriterT r m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Internal.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.Writer.Strict.WriterT r m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamInsertReturning be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Internal.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.Writer.Lazy.WriterT r m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Internal.Base.Monoid r) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.Writer.Strict.WriterT r m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance (Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be m, GHC.Internal.Base.Monoid w) => Database.Beam.Backend.SQL.BeamExtensions.MonadBeamUpdateReturning be (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Database.Beam.Backend.SQL.BeamExtensions: instance GHC.Internal.Base.Monoid (Database.Beam.Backend.SQL.BeamExtensions.InaccessibleQAssignment be)
+ Database.Beam.Backend.SQL.BeamExtensions: instance GHC.Internal.Base.Semigroup (Database.Beam.Backend.SQL.BeamExtensions.InaccessibleQAssignment be)
+ Database.Beam.Backend.SQL.BeamExtensions: runCopyFrom :: MonadBeamCopyFrom be m => SqlCopyFrom be proj -> m ()
+ Database.Beam.Backend.SQL.BeamExtensions: runCopyFromStream :: MonadBeamCopyFromStream be m => SqlCopyFromStream be a -> IO (Maybe ByteString) -> m ()
+ Database.Beam.Backend.SQL.BeamExtensions: runCopyTo :: MonadBeamCopyTo be m => SqlCopyTo be res -> m ()
+ Database.Beam.Backend.SQL.BeamExtensions: runCopyToStream :: MonadBeamCopyToStream be m => SqlCopyToStream be a -> (ByteString -> IO ()) -> m ()
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyFromParams cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyFromSourceSyntax cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyFromStreamParams cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyFromStreamSourceSyntax cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyToParams cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyToSourceSelectSyntax syntax;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyToSourceSyntax cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyToStreamParams cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type SqlCopyToStreamSourceSyntax cmd;
+ Database.Beam.Backend.SQL.BeamExtensions: type family SqlCopyFromStreamParams cmd
+ Database.Beam.Backend.SQL.Builder: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder GHC.Internal.Int.Int32
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Base.Applicative Database.Beam.Backend.SQL.Builder.SqlSyntaxM
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Base.Functor Database.Beam.Backend.SQL.Builder.SqlSyntaxM
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Base.Monad Database.Beam.Backend.SQL.Builder.SqlSyntaxM
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Base.Monoid Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Base.Semigroup Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Control.Monad.Fail.MonadFail Database.Beam.Backend.SQL.Builder.SqlSyntaxM
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder
+ Database.Beam.Backend.SQL.Builder: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.Builder.SqlWindowFrameBound
+ Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.SQL.Row.FromBackendRow be x, Database.Beam.Backend.SQL.Row.FromBackendRow be Database.Beam.Backend.SQL.Types.SqlNull) => Database.Beam.Backend.SQL.Row.FromBackendRow be (GHC.Internal.Maybe.Maybe x)
+ Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.SQL.Row.GFromBackendRow be aExp a, Database.Beam.Backend.SQL.Row.GFromBackendRow be bExp b) => Database.Beam.Backend.SQL.Row.GFromBackendRow be (aExp GHC.Internal.Generics.:*: bExp) (a GHC.Internal.Generics.:*: b)
+ Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.Types.BeamBackend be, GHC.Internal.Generics.Generic (tbl (Database.Beam.Backend.Types.Nullable GHC.Internal.Data.Functor.Identity.Identity)), GHC.Internal.Generics.Generic (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed)), Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Internal.Generics.Rep (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Internal.Generics.Rep (tbl (Database.Beam.Backend.Types.Nullable GHC.Internal.Data.Functor.Identity.Identity)))) => Database.Beam.Backend.SQL.Row.FromBackendRow be (tbl (Database.Beam.Backend.Types.Nullable GHC.Internal.Data.Functor.Identity.Identity))
+ Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.Types.BeamBackend be, GHC.Internal.Generics.Generic (tbl GHC.Internal.Data.Functor.Identity.Identity), GHC.Internal.Generics.Generic (tbl Database.Beam.Backend.Types.Exposed), Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Internal.Generics.Rep (tbl Database.Beam.Backend.Types.Exposed)) (GHC.Internal.Generics.Rep (tbl GHC.Internal.Data.Functor.Identity.Identity))) => Database.Beam.Backend.SQL.Row.FromBackendRow be (tbl GHC.Internal.Data.Functor.Identity.Identity)
+ Database.Beam.Backend.SQL.Row: instance (Database.Beam.Backend.Types.BeamBackend be, GHC.Internal.TypeNats.KnownNat n, Database.Beam.Backend.SQL.Row.FromBackendRow be a) => Database.Beam.Backend.SQL.Row.FromBackendRow be (Data.Vector.Sized.Vector n a)
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be (t (Database.Beam.Backend.Types.Nullable GHC.Internal.Data.Functor.Identity.Identity)) => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t (Database.Beam.Backend.Types.Nullable GHC.Internal.Data.Functor.Identity.Identity)))
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be (t GHC.Internal.Data.Functor.Identity.Identity) => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t Database.Beam.Backend.Types.Exposed)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t GHC.Internal.Data.Functor.Identity.Identity))
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be a => Database.Beam.Backend.SQL.Row.FromBackendRow be (GHC.Internal.Data.Functor.Identity.Identity a)
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be x => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Backend.Types.Exposed x)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (GHC.Internal.Data.Functor.Identity.Identity x))
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be x => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Backend.Types.Exposed x)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R x)
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.GFromBackendRow be e GHC.Internal.Generics.U1
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.GFromBackendRow be e p => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Internal.Generics.M1 t f e) (GHC.Internal.Generics.M1 t f p)
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Base.Alternative (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Base.Applicative (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Base.Functor (Database.Beam.Backend.SQL.Row.FromBackendRowF be)
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Base.Functor (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Base.Monad (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Control.Monad.Fail.MonadFail (Database.Beam.Backend.SQL.Row.FromBackendRowM be)
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Exception.Type.Exception Database.Beam.Backend.SQL.Row.BeamRowReadError
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.Row.BeamRowReadError
+ Database.Beam.Backend.SQL.Row: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.Row.ColumnParseError
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Bits.Bits Database.Beam.Backend.SQL.Types.SqlBitString
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Enum.Bounded Database.Beam.Backend.SQL.Types.SqlNull
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Enum.Enum Database.Beam.Backend.SQL.Types.SqlBitString
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Enum.Enum Database.Beam.Backend.SQL.Types.SqlNull
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Database.Beam.Backend.SQL.Types.SqlSerial a)
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Generics.Generic (Database.Beam.Backend.SQL.Types.SqlSerial a)
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Generics.Generic Database.Beam.Backend.SQL.Types.SqlBitString
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Generics.Generic Database.Beam.Backend.SQL.Types.SqlNull
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Num.Num a => GHC.Internal.Num.Num (Database.Beam.Backend.SQL.Types.SqlSerial a)
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Database.Beam.Backend.SQL.Types.SqlSerial a)
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Real.Integral a => GHC.Internal.Real.Integral (Database.Beam.Backend.SQL.Types.SqlSerial a)
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Real.Real a => GHC.Internal.Real.Real (Database.Beam.Backend.SQL.Types.SqlSerial a)
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.Types.SqlBitString
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Show.Show Database.Beam.Backend.SQL.Types.SqlNull
+ Database.Beam.Backend.SQL.Types: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Database.Beam.Backend.SQL.Types.SqlSerial a)
+ Database.Beam.Backend.URI: instance GHC.Internal.Base.Monoid (Database.Beam.Backend.URI.BeamURIOpeners c)
+ Database.Beam.Backend.URI: instance GHC.Internal.Base.Semigroup (Database.Beam.Backend.URI.BeamURIOpeners c)
+ Database.Beam.Backend.URI: instance GHC.Internal.Exception.Type.Exception Database.Beam.Backend.URI.BeamOpenURIInvalid
+ Database.Beam.Backend.URI: instance GHC.Internal.Exception.Type.Exception Database.Beam.Backend.URI.BeamOpenURIUnsupportedScheme
+ Database.Beam.Backend.URI: instance GHC.Internal.Exception.Type.Exception Database.Beam.Backend.URI.BeamResourceNotFound
+ Database.Beam.Backend.URI: instance GHC.Internal.Show.Show Database.Beam.Backend.URI.BeamOpenURIInvalid
+ Database.Beam.Backend.URI: instance GHC.Internal.Show.Show Database.Beam.Backend.URI.BeamOpenURIUnsupportedScheme
+ Database.Beam.Backend.URI: instance GHC.Internal.Show.Show Database.Beam.Backend.URI.BeamResourceNotFound
+ Database.Beam.Query.CTE: instance Database.Beam.Backend.SQL.SQL99.IsSql99RecursiveCommonTableExpressionSelectSyntax (Database.Beam.Backend.SQL.BeamSqlBackendSelectSyntax be) => GHC.Internal.Control.Monad.Fix.MonadFix (Database.Beam.Query.CTE.With be db)
+ Database.Beam.Query.CTE: instance GHC.Internal.Base.Applicative (Database.Beam.Query.CTE.With be db)
+ Database.Beam.Query.CTE: instance GHC.Internal.Base.Functor (Database.Beam.Query.CTE.With be db)
+ Database.Beam.Query.CTE: instance GHC.Internal.Base.Monad (Database.Beam.Query.CTE.With be db)
+ Database.Beam.Query.CTE: instance GHC.Internal.Base.Monoid (Database.Beam.Query.CTE.Recursiveness be)
+ Database.Beam.Query.CTE: instance GHC.Internal.Base.Semigroup (Database.Beam.Query.CTE.Recursiveness be)
+ Database.Beam.Query.CustomSQL: instance Database.Beam.Query.CustomSQL.IsCustomSqlSyntax (Database.Beam.Backend.SQL.BeamSqlBackendExpressionSyntax be) => GHC.Internal.Base.Monoid (Database.Beam.Query.CustomSQL.CustomSqlSnippet be)
+ Database.Beam.Query.CustomSQL: instance Database.Beam.Query.CustomSQL.IsCustomSqlSyntax (Database.Beam.Backend.SQL.BeamSqlBackendExpressionSyntax be) => GHC.Internal.Base.Semigroup (Database.Beam.Query.CustomSQL.CustomSqlSnippet be)
+ Database.Beam.Query.CustomSQL: instance Database.Beam.Query.CustomSQL.IsCustomSqlSyntax (Database.Beam.Backend.SQL.BeamSqlBackendExpressionSyntax be) => GHC.Internal.Data.String.IsString (Database.Beam.Query.CustomSQL.CustomSqlSnippet be)
+ Database.Beam.Query.CustomSQL: instance GHC.Internal.Base.Monoid (Database.Beam.Query.CustomSQL.CustomSqlSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder)
+ Database.Beam.Query.CustomSQL: instance GHC.Internal.Base.Semigroup (Database.Beam.Query.CustomSQL.CustomSqlSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder)
+ Database.Beam.Query.CustomSQL: instance GHC.Internal.Data.String.IsString (Database.Beam.Query.CustomSQL.CustomSqlSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder)
+ Database.Beam.Query.DataTypes: instance Database.Beam.Backend.SQL.SQL92.Sql92DisplaySyntax (Database.Beam.Backend.SQL.BeamSqlBackendCastTargetSyntax be) => GHC.Internal.Show.Show (Database.Beam.Query.DataTypes.DataType be a)
+ Database.Beam.Query.Internal: instance (Database.Beam.Backend.SQL.BeamSqlBackend backend, Database.Beam.Backend.SQL.BeamSqlBackendCanSerialize backend [GHC.Types.Char]) => GHC.Internal.Data.String.IsString (Database.Beam.Query.Internal.QGenExpr context backend s Data.Text.Internal.Text)
+ Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.ContextRewritable a, GHC.Internal.TypeNats.KnownNat n) => Database.Beam.Query.Internal.ContextRewritable (Data.Vector.Sized.Vector n a)
+ Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.IsAggregateContext a, GHC.Internal.Data.Typeable.Internal.Typeable a) => Database.Beam.Query.Internal.AggregateContext a
+ Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.IsValueContext a, GHC.Internal.Data.Typeable.Internal.Typeable a, a GHC.Types.~ Database.Beam.Query.Internal.QValueContext) => Database.Beam.Query.Internal.ValueContext a
+ Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.ProjectibleWithPredicate contextPredicate be res a, GHC.Internal.TypeNats.KnownNat n) => Database.Beam.Query.Internal.ProjectibleWithPredicate contextPredicate be res (Data.Vector.Sized.Vector n a)
+ Database.Beam.Query.Internal: instance (Database.Beam.Query.Internal.ThreadRewritable s a, GHC.Internal.TypeNats.KnownNat n) => Database.Beam.Query.Internal.ThreadRewritable s (Data.Vector.Sized.Vector n a)
+ Database.Beam.Query.Internal: instance (GHC.Internal.Data.Typeable.Internal.Typeable context, Database.Beam.Query.Internal.IsWindowFrameContext context, context GHC.Types.~ Database.Beam.Query.Internal.QWindowFrameContext) => Database.Beam.Query.Internal.WindowFrameContext context
+ Database.Beam.Query.Internal: instance (GHC.Internal.Num.Num a, Database.Beam.Backend.SQL.BeamSqlBackend be, Database.Beam.Backend.SQL.BeamSqlBackendCanSerialize be a) => GHC.Internal.Num.Num (Database.Beam.Query.Internal.QGenExpr context be s a)
+ Database.Beam.Query.Internal: instance (GHC.Internal.Real.Fractional a, Database.Beam.Backend.SQL.BeamSqlBackend be, Database.Beam.Backend.SQL.BeamSqlBackendCanSerialize be a) => GHC.Internal.Real.Fractional (Database.Beam.Query.Internal.QGenExpr context be s a)
+ Database.Beam.Query.Internal: instance Database.Beam.Query.Internal.ProjectibleWithPredicate Database.Beam.Query.Internal.AnyType () res (GHC.Internal.Data.Functor.Const.Const res a)
+ Database.Beam.Query.Internal: instance Database.Beam.Schema.Tables.Beamable t => Database.Beam.Query.Internal.ProjectibleWithPredicate Database.Beam.Query.Internal.AnyType () Data.Text.Internal.Text (t (Database.Beam.Backend.Types.Nullable (GHC.Internal.Data.Functor.Const.Const Data.Text.Internal.Text)))
+ Database.Beam.Query.Internal: instance Database.Beam.Schema.Tables.Beamable t => Database.Beam.Query.Internal.ProjectibleWithPredicate Database.Beam.Query.Internal.AnyType () res (t (GHC.Internal.Data.Functor.Const.Const res))
+ Database.Beam.Query.Internal: instance GHC.Internal.Base.Applicative (Database.Beam.Query.Internal.Q be db s)
+ Database.Beam.Query.Internal: instance GHC.Internal.Base.Functor (Database.Beam.Query.Internal.Q be db s)
+ Database.Beam.Query.Internal: instance GHC.Internal.Base.Functor (Database.Beam.Query.Internal.QF be db s)
+ Database.Beam.Query.Internal: instance GHC.Internal.Base.Monad (Database.Beam.Query.Internal.Q be db s)
+ Database.Beam.Query.Internal: instance GHC.Internal.Base.Monoid (Database.Beam.Query.Internal.QAssignment be s)
+ Database.Beam.Query.Internal: instance GHC.Internal.Base.Semigroup (Database.Beam.Query.Internal.QAssignment be s)
+ Database.Beam.Query.Internal: instance GHC.Internal.Show.Show (Database.Beam.Query.Internal.QField s ty)
+ Database.Beam.Query.SQL92: instance (GHC.Internal.Base.Monoid a, Database.Beam.Query.Internal.ProjectibleWithPredicate c syntax res b) => Database.Beam.Query.Internal.ProjectibleWithPredicate c syntax res (Database.Beam.Query.SQL92.PreserveLeft a b)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.Database be embedded, GHC.Internal.Generics.Generic (Database.Beam.Schema.Tables.DatabaseSettings be embedded), Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Internal.Generics.Rep (Database.Beam.Schema.Tables.DatabaseSettings be embedded) ())) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Internal.Generics.S1 f (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (embedded (Database.Beam.Schema.Tables.DatabaseEntity be super))) p)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GAutoDbSettings (x p), Database.Beam.Schema.Tables.GAutoDbSettings (y p)) => Database.Beam.Schema.Tables.GAutoDbSettings ((GHC.Internal.Generics.:*:) x y p)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GDefaultTableFieldSettings (a p), Database.Beam.Schema.Tables.GDefaultTableFieldSettings (b p)) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings ((GHC.Internal.Generics.:*:) a b p)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GFieldsFulfillConstraint c aExp aC, Database.Beam.Schema.Tables.GFieldsFulfillConstraint c bExp bC) => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (aExp GHC.Internal.Generics.:*: bExp) (aC GHC.Internal.Generics.:*: bC)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GTableSkeleton a, Database.Beam.Schema.Tables.GTableSkeleton b) => Database.Beam.Schema.Tables.GTableSkeleton (a GHC.Internal.Generics.:*: b)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GZipDatabase be f g h ax ay az, Database.Beam.Schema.Tables.GZipDatabase be f g h bx by bz) => Database.Beam.Schema.Tables.GZipDatabase be f g h (ax GHC.Internal.Generics.:*: bx) (ay GHC.Internal.Generics.:*: by) (az GHC.Internal.Generics.:*: bz)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.GZipTables f g h exp1 f1 g1 h1, Database.Beam.Schema.Tables.GZipTables f g h exp2 f2 g2 h2) => Database.Beam.Schema.Tables.GZipTables f g h (exp1 GHC.Internal.Generics.:*: exp2) (f1 GHC.Internal.Generics.:*: f2) (g1 GHC.Internal.Generics.:*: g2) (h1 GHC.Internal.Generics.:*: h2)
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.IsDatabaseEntity be tbl, Database.Beam.Schema.Tables.DatabaseEntityRegularRequirements be tbl) => Database.Beam.Schema.Tables.GZipDatabase be f g h (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (f tbl)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (g tbl)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (h tbl))
+ Database.Beam.Schema.Tables: instance (Database.Beam.Schema.Tables.Table rel, GHC.Internal.Generics.Generic (rel (Database.Beam.Schema.Tables.TableField rel)), Database.Beam.Schema.Tables.TagReducesTo f (Database.Beam.Schema.Tables.TableField tbl), Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Internal.Generics.Rep (rel (Database.Beam.Schema.Tables.TableField rel)) ())) => Database.Beam.Schema.Tables.SubTableStrategyImpl 'Database.Beam.Schema.Tables.PrimaryKeyStrategy f (Database.Beam.Schema.Tables.PrimaryKey rel)
+ Database.Beam.Schema.Tables: instance (GHC.Internal.Generics.Generic (sub f), Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Internal.Generics.Rep (sub f) ())) => Database.Beam.Schema.Tables.SubTableStrategyImpl 'Database.Beam.Schema.Tables.BeamableStrategy f sub
+ Database.Beam.Schema.Tables: instance (GHC.Internal.Generics.Selector f', Database.Beam.Schema.Tables.ChooseSubTableStrategy tbl sub GHC.Types.~ strategy, Database.Beam.Schema.Tables.SubTableStrategyImpl strategy f sub, Database.Beam.Schema.Tables.TagReducesTo f (Database.Beam.Schema.Tables.TableField tbl), Database.Beam.Schema.Tables.Beamable sub) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Internal.Generics.S1 f' (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (sub f)) p)
+ Database.Beam.Schema.Tables: instance (GHC.Internal.Generics.Selector f, Database.Beam.Schema.Tables.IsDatabaseEntity be x, Database.Beam.Schema.Tables.DatabaseEntityDefaultRequirements be x) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Internal.Generics.S1 f (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Schema.Tables.DatabaseEntity be db x)) p)
+ Database.Beam.Schema.Tables: instance (TypeError ...) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Internal.Generics.K1 r f p)
+ Database.Beam.Schema.Tables: instance (fa GHC.Types.~ Database.Beam.Schema.Tables.Columnar f a, ga GHC.Types.~ Database.Beam.Schema.Tables.Columnar g a, ha GHC.Types.~ Database.Beam.Schema.Tables.Columnar h a, ha GHC.Types.~ Database.Beam.Schema.Tables.Columnar h a) => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Backend.Types.Exposed a)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R fa) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R ga) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R ha)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GTableSkeleton (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Schema.Tables.Ignored)))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GTableSkeleton (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl Database.Beam.Schema.Tables.Ignored))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl (Database.Beam.Backend.Types.Nullable f))) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl (Database.Beam.Backend.Types.Nullable g))) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl (Database.Beam.Backend.Types.Nullable h)))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Beamable tbl => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl Database.Beam.Backend.Types.Exposed)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl f)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl g)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (tbl h))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.Database be db => Database.Beam.Schema.Tables.GZipDatabase be f g h (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (db f)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (db g)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (db h))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.FieldsFulfillConstraint c t => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t Database.Beam.Backend.Types.Exposed)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t (Database.Beam.Schema.Tables.HasConstraint c)))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.FieldsFulfillConstraintNullable c t => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t (Database.Beam.Backend.Types.Nullable Database.Beam.Backend.Types.Exposed))) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (t (Database.Beam.Backend.Types.Nullable (Database.Beam.Schema.Tables.HasConstraint c))))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GAutoDbSettings (x p) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Internal.Generics.C1 f x p)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GAutoDbSettings (x p) => Database.Beam.Schema.Tables.GAutoDbSettings (GHC.Internal.Generics.D1 f x p)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GDefaultTableFieldSettings (p x) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Internal.Generics.C1 f p x)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GDefaultTableFieldSettings (p x) => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Internal.Generics.D1 f p x)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GFieldsFulfillConstraint c GHC.Internal.Generics.U1 GHC.Internal.Generics.U1
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GFieldsFulfillConstraint c exposed withconstraint => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Internal.Generics.M1 s m exposed) (GHC.Internal.Generics.M1 s m withconstraint)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GTableSkeleton (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Schema.Tables.Ignored field))
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GTableSkeleton GHC.Internal.Generics.U1
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GTableSkeleton p => Database.Beam.Schema.Tables.GTableSkeleton (GHC.Internal.Generics.M1 t f p)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GZipDatabase be f g h x y z => Database.Beam.Schema.Tables.GZipDatabase be f g h (GHC.Internal.Generics.M1 a b x) (GHC.Internal.Generics.M1 a b y) (GHC.Internal.Generics.M1 a b z)
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GZipTables f g h GHC.Internal.Generics.U1 GHC.Internal.Generics.U1 GHC.Internal.Generics.U1 GHC.Internal.Generics.U1
+ Database.Beam.Schema.Tables: instance Database.Beam.Schema.Tables.GZipTables f g h exp fRep gRep hRep => Database.Beam.Schema.Tables.GZipTables f g h (GHC.Internal.Generics.M1 x y exp) (GHC.Internal.Generics.M1 x y fRep) (GHC.Internal.Generics.M1 x y gRep) (GHC.Internal.Generics.M1 x y hRep)
+ Database.Beam.Schema.Tables: instance GHC.Internal.Base.Monoid (Database.Beam.Schema.Tables.EntityModification f be e)
+ Database.Beam.Schema.Tables: instance GHC.Internal.Base.Semigroup (Database.Beam.Schema.Tables.EntityModification f be e)
+ Database.Beam.Schema.Tables: instance GHC.Internal.Data.String.IsString (Database.Beam.Schema.Tables.FieldModification (Database.Beam.Schema.Tables.TableField tbl) a)
+ Database.Beam.Schema.Tables: instance GHC.Internal.Generics.Selector f => Database.Beam.Schema.Tables.GDefaultTableFieldSettings (GHC.Internal.Generics.S1 f (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Schema.Tables.TableField table field)) p)
+ Database.Beam.Schema.Tables: instance GHC.Internal.Show.Show (Database.Beam.Schema.Tables.TableField table ty)
+ Database.Beam.Schema.Tables: instance c x => Database.Beam.Schema.Tables.GFieldsFulfillConstraint c (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Backend.Types.Exposed x)) (GHC.Internal.Generics.K1 GHC.Internal.Generics.R (Database.Beam.Schema.Tables.HasConstraint c x))
- Database.Beam.Backend.SQL.BeamExtensions: -- | What to do when an <tt>INSERT</tt> statement inserts a row into the
+ Database.Beam.Backend.SQL.BeamExtensions: -- | All backend-specific options which determine HOW the streaming copy is

Files

ChangeLog.md view
@@ -1,3 +1,27 @@+# 0.11.1.0++## New features++* Added a cross-backend abstraction for the `COPY` statement in+  `Database.Beam.Backend.SQL.BeamExtensions`:+  * file-mode `COPY ... TO 'file'` / `COPY ... FROM 'file'`. Defines+    `MonadBeamCopyTo` / `MonadBeamCopyFrom`, and the user-facing+    `copyTableTo` / `copySelectTo` / `copyTableFrom` builders.+  * streaming `COPY ... TO STDOUT` / `COPY ... FROM STDIN`. Mirrors the file-mode+    API: `MonadBeamCopyToStream` / `MonadBeamCopyFromStream`,+     and the `copyTableToStream` / `copySelectToStream` / `copyTableFromStream` builders.++## Bug fixes++* Fixed an issue where a window function applied over the result of `nub_` (or+  the Postgres-specific `pgNubBy_`) would emit `DISTINCT` and the window+  expression in the same `SELECT`, causing the window to evaluate against the+  pre-deduplicated rows. The inner select is now materialised as a subquery+  whenever it carries `DISTINCT`, `GROUP BY`, or `HAVING` (#756).++## Dependencies++* Removed dependency on `ghc-prim`.  # 0.11.0.0 
Database/Beam/Backend/SQL/BeamExtensions.hs view
@@ -16,6 +16,11 @@   , runDeleteReturningList   , BeamHasInsertOnConflict(..) +  -- * Support for copying to external files+  , module Database.Beam.Backend.SQL.BeamExtensions.Copy.File+  -- * Support for streaming copy+  , module Database.Beam.Backend.SQL.BeamExtensions.Copy.Stream+   , SqlSerial(..)   , onConflictUpdateInstead   , onConflictUpdateAll@@ -41,6 +46,8 @@ import           Data.Kind (Type) import           Data.Proxy import           Data.Semigroup+import           Database.Beam.Backend.SQL.BeamExtensions.Copy.File hiding (projection) -- internal function+import           Database.Beam.Backend.SQL.BeamExtensions.Copy.Stream  --import GHC.Generics 
+ Database/Beam/Backend/SQL/BeamExtensions/Copy/File.hs view
@@ -0,0 +1,320 @@+{-# LANGUAGE UndecidableInstances #-}++-- | File-mode @COPY@: the data lives on the database server's filesystem.+--+-- For the variant that streams data through the client connection instead, see+-- "Database.Beam.Backend.SQL.BeamExtensions.Copy.Stream".+module Database.Beam.Backend.SQL.BeamExtensions.Copy.File+  ( -- * Building a COPY statement+    copyTableTo,+    copySelectTo,+    SqlCopyTo (..),+    copyTableFrom,+    SqlCopyFrom (..),++    -- * Source-syntax classes (shared with streaming COPY)+    IsSqlCopyToSourceSyntax (..),+    IsSqlCopyFromSourceSyntax (..),++    -- * File-mode statement-level syntax classes+    IsSqlCopyToSyntax (..),+    IsSqlCopyFromSyntax (..),+    BeamSqlBackendCopyToSyntax,+    BeamSqlBackendCopyFromSyntax,++    -- * Runner classes+    MonadBeamCopyTo (..),+    MonadBeamCopyFrom (..),++    -- * Internal — exposed for use by sibling modules+    projection,+  )+where++import Control.Monad.Cont (ContT)+import Control.Monad.Except (ExceptT)+import qualified Control.Monad.RWS.Lazy as Lazy+import qualified Control.Monad.RWS.Strict as Strict+import Control.Monad.Reader (ReaderT)+import qualified Control.Monad.State.Lazy as Lazy+import qualified Control.Monad.State.Strict as Strict+import Control.Monad.Trans (lift)+import qualified Control.Monad.Writer.Lazy as Lazy+import qualified Control.Monad.Writer.Strict as Strict+import Data.Data (Proxy (..))+import Data.Kind (Type)+import Data.List.NonEmpty (NonEmpty, nonEmpty)+import Data.Text (Text)+import Database.Beam.Backend.SQL (BeamSqlBackendSelectSyntax, MonadBeam (..))+import Database.Beam.Query (QField, SqlSelect (..))+import Database.Beam.Query.Internal (AnyType, ProjectibleWithPredicate, QField (..), project')+import Database.Beam.Schema (TableEntity)+import Database.Beam.Schema.Tables+  ( Beamable,+    Columnar' (..),+    DatabaseEntity (..),+    DatabaseEntityDescriptor (DatabaseTable, dbTableSettings),+    IsDatabaseEntity (dbEntityName, dbEntitySchema),+    changeBeamRep,+    fieldName,+  )+import Lens.Micro ((^.))++-- | This class allows to express the source of a `COPY ... TO` statement.+-- The options are either from a table (with a possible projection),+-- or from the result of a select query.+--+-- Reused by both file-mode and streaming COPY: the source shape (a table or+-- a @SELECT@) is the same regardless of where the data ends up.+class IsSqlCopyToSourceSyntax syntax where+  -- | Expected to be equal to `BeamSqlBackendSelectSyntax be`+  type SqlCopyToSourceSelectSyntax syntax :: Type++  -- Copy an entire table, perhaps with some column projections+  copyTableToSyntax ::+    Maybe Text -> -- schema (Nothing = default search path)+    Text -> -- table name+    Maybe (NonEmpty Text) -> -- column list; `Nothing` means "all columns"+    syntax++  -- Copy the result of a select statement+  copySelectToSyntax ::+    SqlCopyToSourceSelectSyntax syntax ->+    syntax++-- | This class allows to express the source of a `COPY ... FROM` statement.+-- Reused by both file-mode and streaming COPY.+class IsSqlCopyFromSourceSyntax syntax where+  -- Copy data into a table, perhaps with some column projections+  copyTableFromSyntax ::+    Maybe Text -> -- schema (Nothing = default search path)+    Text -> -- table name+    Maybe (NonEmpty Text) -> -- column list; `Nothing` means "all columns"+    syntax++-- | Statement-level syntax for backends that support @COPY ... TO@ file.+class (IsSqlCopyToSourceSyntax (SqlCopyToSourceSyntax cmd)) => IsSqlCopyToSyntax cmd where+  -- | The syntax for the source of the copy. For example, in Postgres,+  --  this can be either a table (and optional projection), or a select statement.+  type SqlCopyToSourceSyntax cmd :: Type++  -- | All backend-specific options which determine HOW the copy is performed,+  --  including the destination of the data (e.g. a filepath).+  type SqlCopyToParams cmd :: Type++  -- | Combine a source and a parameters value into a complete+  -- @COPY ... TO ...@ statement.+  copyToStmt ::+    SqlCopyToSourceSyntax cmd ->+    SqlCopyToParams cmd ->+    cmd++-- | Statement-level syntax for backends that support file-mode @COPY ... FROM@ file.+--+-- Symmetric to 'IsSqlCopyToSyntax', but the data flows in the opposite+-- direction: the params value supplies the source path and any+-- format-specific options.+class (IsSqlCopyFromSourceSyntax (SqlCopyFromSourceSyntax cmd)) => IsSqlCopyFromSyntax cmd where+  -- | The syntax for the destination table of the copy.+  type SqlCopyFromSourceSyntax cmd :: Type++  -- | All backend-specific options which determine HOW the copy is performed,+  --  including the source of the data (e.g. a filepath).+  type SqlCopyFromParams cmd :: Type++  -- | Combine a destination and a parameters value into a complete+  -- @COPY ... FROM ...@ statement.+  copyFromStmt ::+    SqlCopyFromSourceSyntax cmd ->+    SqlCopyFromParams cmd ->+    cmd++-- | Type-family selector for the backend's file-mode @COPY ... TO@ syntax.+-- A backend instance binds this to the concrete syntax type that implements+-- 'IsSqlCopyToSyntax'.+type family BeamSqlBackendCopyToSyntax be :: Type++-- | Type-family selector for the backend's file-mode @COPY ... FROM@ syntax.+-- See 'BeamSqlBackendCopyToSyntax'.+type family BeamSqlBackendCopyFromSyntax be :: Type++-- | A built file-mode @COPY ... TO@ statement, ready to be executed by+-- 'runCopyTo'. Construct via 'copyTableTo' or 'copySelectTo'; the @table@+-- and @proj@ phantom parameters track which table the statement applies to+-- and which columns it projects.+data SqlCopyTo be a+  = SqlCopyTo !(BeamSqlBackendCopyToSyntax be)+  | -- | A projection covering zero columns. 'runCopyTo' should treat this as a+    --    no-op rather than emit an empty @COPY tbl () TO ...@ statement.+    SqlCopyToNoColumns++-- | A built file-mode @COPY ... FROM@ statement, ready to be executed by+-- 'runCopyFrom'. Construct via 'copyTableFrom'.+data SqlCopyFrom be a+  = SqlCopyFrom !(BeamSqlBackendCopyFromSyntax be)+  | -- | A projection covering zero columns. 'runCopyFrom' should treat this as+    --    a no-op rather than emit an empty @COPY tbl () FROM ...@ statement.+    SqlCopyFromNoColumns++-- | Express the copy from a table, to a destination (typically a file).+--+-- To copy the result of a @SELECT@ query instead, see `copySelectTo`.+--+-- @since 0.11.1.0+copyTableTo ::+  ( IsSqlCopyToSyntax (BeamSqlBackendCopyToSyntax be),+    ProjectibleWithPredicate AnyType () Text proj+  ) =>+  DatabaseEntity be db (TableEntity table) ->+  -- | Projection from table to columns. If you want+  --  to copy the entire table, use 'id'.+  (table (QField s) -> proj) ->+  -- | Backend-specific options. The output is also determined by this value+  SqlCopyToParams (BeamSqlBackendCopyToSyntax be) ->+  SqlCopyTo be proj+copyTableTo (DatabaseEntity dt@(DatabaseTable {})) mkProj options =+  case nonEmpty (projection dt mkProj) of+    Nothing -> SqlCopyToNoColumns+    Just cols ->+      let source = copyTableToSyntax (dt ^. dbEntitySchema) (dt ^. dbEntityName) (Just cols)+       in SqlCopyTo+            (copyToStmt source options)++-- | Express the copy from the result of a @SELECT@ statement to a destination+-- (typically a file). Use this when the source rows are produced by a query+-- rather than read directly from a table.+--+-- To copy a table, or a subset of columns, see `copyTableTo`.+--+-- @since 0.11.1.0+copySelectTo ::+  ( IsSqlCopyToSyntax (BeamSqlBackendCopyToSyntax be),+    SqlCopyToSourceSelectSyntax (SqlCopyToSourceSyntax (BeamSqlBackendCopyToSyntax be))+      ~ BeamSqlBackendSelectSyntax be+  ) =>+  SqlSelect be a ->+  -- | Backend-specific options. The format is pinned by this value+  SqlCopyToParams (BeamSqlBackendCopyToSyntax be) ->+  SqlCopyTo be a+copySelectTo (SqlSelect selectSyntax) options =+  let source = copySelectToSyntax selectSyntax+   in SqlCopyTo (copyToStmt source options)++-- | Express the copy to a table, from an external source (typically a file).+--+-- @since 0.11.1.0+copyTableFrom ::+  ( IsSqlCopyFromSyntax (BeamSqlBackendCopyFromSyntax be),+    ProjectibleWithPredicate AnyType () Text proj+  ) =>+  DatabaseEntity be db (TableEntity table) ->+  -- | Projection from table to columns. If you want+  --  to copy into the entire table, use 'id'.+  (table (QField s) -> proj) ->+  -- | Backend-specific options. The format is pinned by this value+  SqlCopyFromParams (BeamSqlBackendCopyFromSyntax be) ->+  SqlCopyFrom be proj+copyTableFrom (DatabaseEntity dt@(DatabaseTable {})) mkProj options =+  case nonEmpty (projection dt mkProj) of+    Nothing -> SqlCopyFromNoColumns+    Just cols ->+      let source = copyTableFromSyntax (dt ^. dbEntitySchema) (dt ^. dbEntityName) (Just cols)+       in SqlCopyFrom+            (copyFromStmt source options)++-- | Walk a projection and collect the names of the columns it touches.+--+-- This is the building block 'copyTableTo' / 'copyTableFrom' (and their+-- streaming counterparts) use to derive the column list for the emitted+-- @COPY@ statement. Exposed here so that the streaming submodule can reuse+-- the same logic without duplication.+projection ::+  (ProjectibleWithPredicate AnyType () Text proj, Beamable table) =>+  DatabaseEntityDescriptor be (TableEntity table) ->+  (table (QField s) -> proj) ->+  [Text]+projection dt mkProj =+  Strict.execWriter+    ( project'+        (Proxy @AnyType)+        (Proxy @((), Text))+        (\_ _ f -> Strict.tell [f] >> pure f)+        (mkProj tblFields)+    )+  where+    tblFields =+      changeBeamRep+        (\(Columnar' fd) -> Columnar' (QField False (dt ^. dbEntityName) (fd ^. fieldName)))+        (dbTableSettings dt)++-- | 'MonadBeam's that support copying data out of a database, to some other location.+--+-- See 'MonadBeamCopyFrom' for the inverse operation.+--+-- @since 0.11.1.0+class (MonadBeam be m) => MonadBeamCopyTo be m | m -> be where+  -- | Execute a built @COPY ... TO@ file statement.+  runCopyTo :: SqlCopyTo be res -> m ()++instance (MonadBeamCopyTo be m) => MonadBeamCopyTo be (ExceptT e m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m) => MonadBeamCopyTo be (ContT r m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m) => MonadBeamCopyTo be (ReaderT r m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m) => MonadBeamCopyTo be (Lazy.StateT r m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m) => MonadBeamCopyTo be (Strict.StateT r m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m, Monoid r) => MonadBeamCopyTo be (Lazy.WriterT r m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m, Monoid r) => MonadBeamCopyTo be (Strict.WriterT r m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m, Monoid w) => MonadBeamCopyTo be (Lazy.RWST r w s m) where+  runCopyTo = lift . runCopyTo++instance (MonadBeamCopyTo be m, Monoid w) => MonadBeamCopyTo be (Strict.RWST r w s m) where+  runCopyTo = lift . runCopyTo++-- | 'MonadBeam's that support copying data into database, from other location.+--+-- See 'MonadBeamCopyTo' for the inverse operation.+--+-- @since 0.11.1.0+class (MonadBeam be m) => MonadBeamCopyFrom be m | m -> be where+  -- | Execute a built @COPY ... FROM@ file statement.+  runCopyFrom :: SqlCopyFrom be proj -> m ()++instance (MonadBeamCopyFrom be m) => MonadBeamCopyFrom be (ExceptT e m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m) => MonadBeamCopyFrom be (ContT r m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m) => MonadBeamCopyFrom be (ReaderT r m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m) => MonadBeamCopyFrom be (Lazy.StateT r m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m) => MonadBeamCopyFrom be (Strict.StateT r m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m, Monoid r) => MonadBeamCopyFrom be (Lazy.WriterT r m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m, Monoid r) => MonadBeamCopyFrom be (Strict.WriterT r m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m, Monoid w) => MonadBeamCopyFrom be (Lazy.RWST r w s m) where+  runCopyFrom = lift . runCopyFrom++instance (MonadBeamCopyFrom be m, Monoid w) => MonadBeamCopyFrom be (Strict.RWST r w s m) where+  runCopyFrom = lift . runCopyFrom
+ Database/Beam/Backend/SQL/BeamExtensions/Copy/Stream.hs view
@@ -0,0 +1,289 @@+{-# LANGUAGE UndecidableInstances #-}++-- | Streaming-mode @COPY@: the data flows through the client connection+-- rather than to or from a file on the database server.+--+-- For the file-mode variant, see+-- "Database.Beam.Backend.SQL.BeamExtensions.Copy.File".+module Database.Beam.Backend.SQL.BeamExtensions.Copy.Stream+  ( -- * Building a streaming COPY statement+    copyTableToStream,+    copySelectToStream,+    SqlCopyToStream (..),+    copyTableFromStream,+    SqlCopyFromStream (..),++    -- * Streaming statement-level syntax classes+    IsSqlCopyToStreamSyntax (..),+    IsSqlCopyFromStreamSyntax (..),+    BeamSqlBackendCopyToStreamSyntax,+    BeamSqlBackendCopyFromStreamSyntax,++    -- * Runner classes+    MonadBeamCopyToStream (..),+    MonadBeamCopyFromStream (..),+  )+where++import Control.Monad.Cont (ContT)+import Control.Monad.Except (ExceptT)+import qualified Control.Monad.RWS.Lazy as Lazy+import qualified Control.Monad.RWS.Strict as Strict+import Control.Monad.Reader (ReaderT)+import qualified Control.Monad.State.Lazy as Lazy+import qualified Control.Monad.State.Strict as Strict+import Control.Monad.Trans (lift)+import qualified Control.Monad.Writer.Lazy as Lazy+import qualified Control.Monad.Writer.Strict as Strict+import Data.ByteString (ByteString)+import Data.Kind (Type)+import Data.List.NonEmpty (nonEmpty)+import Data.Text (Text)+import Database.Beam.Backend.SQL (BeamSqlBackendSelectSyntax, MonadBeam)+import Database.Beam.Backend.SQL.BeamExtensions.Copy.File+  ( IsSqlCopyFromSourceSyntax (..),+    IsSqlCopyToSourceSyntax (..),+    projection,+  )+import Database.Beam.Query (QField, SqlSelect (..))+import Database.Beam.Query.Internal (AnyType, ProjectibleWithPredicate)+import Database.Beam.Schema (TableEntity)+import Database.Beam.Schema.Tables+  ( DatabaseEntity (..),+    DatabaseEntityDescriptor (DatabaseTable),+    IsDatabaseEntity (dbEntityName, dbEntitySchema),+  )+import Lens.Micro ((^.))++-- | Statement-level syntax for backends that support streaming+-- @COPY ... TO@ (data leaving the database through the client connection).+--+-- Mirrors 'Database.Beam.Backend.SQL.BeamExtensions.Copy.File.IsSqlCopyToSyntax',+-- but the params value carries only format options — no destination path,+-- since chunks travel through the wire.+class (IsSqlCopyToSourceSyntax (SqlCopyToStreamSourceSyntax cmd)) => IsSqlCopyToStreamSyntax cmd where+  -- | The syntax for the source of the streaming copy. As with file-mode+  --  COPY, this can be a table (perhaps with a projection) or a @SELECT@+  --  query.+  type SqlCopyToStreamSourceSyntax cmd :: Type++  -- | All backend-specific options which determine HOW the streaming copy+  --  is performed (format, delimiter, etc.). Unlike the file-mode params,+  --  there is no destination — chunks flow through the connection.+  type SqlCopyToStreamParams cmd :: Type++  -- | Combine a source and a parameters value into a complete+  -- streaming @COPY ... TO@ stream statement.+  copyToStreamStmt ::+    SqlCopyToStreamSourceSyntax cmd ->+    SqlCopyToStreamParams cmd ->+    cmd++-- | Statement-level syntax for backends that support streaming+-- @COPY ... FROM@ (data entering the database through the client connection).+--+-- Mirrors 'Database.Beam.Backend.SQL.BeamExtensions.Copy.File.IsSqlCopyFromSyntax'.+class (IsSqlCopyFromSourceSyntax (SqlCopyFromStreamSourceSyntax cmd)) => IsSqlCopyFromStreamSyntax cmd where+  -- | The syntax for the destination table of the streaming copy.+  type SqlCopyFromStreamSourceSyntax cmd :: Type++  -- | All backend-specific options which determine HOW the streaming copy+  --  is performed. Unlike the file-mode params, there is no source path —+  --  chunks flow through the connection.+  type SqlCopyFromStreamParams cmd :: Type++  -- | Combine a destination and a parameters value into a complete+  -- streaming @COPY ... FROM@ stream statement.+  copyFromStreamStmt ::+    SqlCopyFromStreamSourceSyntax cmd ->+    SqlCopyFromStreamParams cmd ->+    cmd++-- | Type-family selector for the backend's streaming @COPY ... TO@ syntax.+-- A backend instance binds this to the concrete syntax type that+-- implements 'IsSqlCopyToStreamSyntax'.+type family BeamSqlBackendCopyToStreamSyntax be :: Type++-- | Type-family selector for the backend's streaming @COPY ... FROM@ syntax.+-- See 'BeamSqlBackendCopyToStreamSyntax'.+type family BeamSqlBackendCopyFromStreamSyntax be :: Type++-- | A built streaming-mode @COPY ... TO@ statement, ready to be executed by+-- 'runCopyToStream'.+data SqlCopyToStream be a+  = SqlCopyToStream !(BeamSqlBackendCopyToStreamSyntax be)+  | -- | A projection covering zero columns. 'runCopyToStream' should treat+    --    this as a no-op (it must still call the sink zero times) rather+    --    than emit an empty @COPY tbl () TO STDOUT@ statement.+    SqlCopyToStreamNoColumns++-- | A built streaming-mode @COPY ... FROM@ statement, ready to be executed+-- by 'runCopyFromStream'.+data SqlCopyFromStream be a+  = SqlCopyFromStream !(BeamSqlBackendCopyFromStreamSyntax be)+  | -- | A projection covering zero columns. 'runCopyFromStream' should+    --    treat this as a no-op (it should not pull from the source) rather+    --    than emit an empty @COPY tbl () FROM STDIN@ statement.+    SqlCopyFromStreamNoColumns++-- | Express a streaming copy from a table, the data flowing through the+-- client connection rather than to a server-side file.+--+-- To stream the result of a @SELECT@ query instead, see 'copySelectToStream'.+--+-- @since 0.11.1.0+copyTableToStream ::+  ( IsSqlCopyToStreamSyntax (BeamSqlBackendCopyToStreamSyntax be),+    ProjectibleWithPredicate AnyType () Text proj+  ) =>+  DatabaseEntity be db (TableEntity table) ->+  -- | Projection from table to columns. If you want+  --  to copy the entire table, use 'id'.+  (table (QField s) -> proj) ->+  -- | Backend-specific options.+  SqlCopyToStreamParams (BeamSqlBackendCopyToStreamSyntax be) ->+  SqlCopyToStream be proj+copyTableToStream (DatabaseEntity dt@(DatabaseTable {})) mkProj options =+  case nonEmpty (projection dt mkProj) of+    Nothing -> SqlCopyToStreamNoColumns+    Just cols ->+      let source = copyTableToSyntax (dt ^. dbEntitySchema) (dt ^. dbEntityName) (Just cols)+       in SqlCopyToStream+            (copyToStreamStmt source options)++-- | Express a streaming copy from the result of a @SELECT@ statement.+--+-- To stream a table, or a subset of columns, see 'copyTableToStream'.+--+-- @since 0.11.1.0+copySelectToStream ::+  ( IsSqlCopyToStreamSyntax (BeamSqlBackendCopyToStreamSyntax be),+    SqlCopyToSourceSelectSyntax (SqlCopyToStreamSourceSyntax (BeamSqlBackendCopyToStreamSyntax be))+      ~ BeamSqlBackendSelectSyntax be+  ) =>+  SqlSelect be a ->+  SqlCopyToStreamParams (BeamSqlBackendCopyToStreamSyntax be) ->+  SqlCopyToStream be a+copySelectToStream (SqlSelect selectSyntax) options =+  let source = copySelectToSyntax selectSyntax+   in SqlCopyToStream (copyToStreamStmt source options)++-- | Express a streaming copy into a table, the data flowing through the+-- client connection rather than from a server-side file.+--+-- @since 0.11.1.0+copyTableFromStream ::+  ( IsSqlCopyFromStreamSyntax (BeamSqlBackendCopyFromStreamSyntax be),+    ProjectibleWithPredicate AnyType () Text proj+  ) =>+  DatabaseEntity be db (TableEntity table) ->+  -- | Projection from which to copy columns. Other columns+  -- will have their default value inserted.+  --+  -- To copy the stream into the entire table, use 'id'.+  (table (QField s) -> proj) ->+  SqlCopyFromStreamParams (BeamSqlBackendCopyFromStreamSyntax be) ->+  SqlCopyFromStream be proj+copyTableFromStream (DatabaseEntity dt@(DatabaseTable {})) mkProj options =+  case nonEmpty (projection dt mkProj) of+    Nothing -> SqlCopyFromStreamNoColumns+    Just cols ->+      let source = copyTableFromSyntax (dt ^. dbEntitySchema) (dt ^. dbEntityName) (Just cols)+       in SqlCopyFromStream+            (copyFromStreamStmt source options)++-- | 'MonadBeam's that support streaming data out of a database through the+-- client connection (e.g. PostgreSQL's @COPY ... TO STDOUT@).+--+-- The supplied @ByteString -> IO ()@ callback is invoked once per chunk+-- received. The 'runCopyToStream' call blocks until the COPY completes; on+-- failure it raises the underlying backend's exception.+--+-- See 'MonadBeamCopyFromStream' for the inverse operation.+--+-- @since 0.11.1.0+class (MonadBeam be m) => MonadBeamCopyToStream be m | m -> be where+  -- | Execute a built streaming @COPY ... TO@ stream statement. The supplied sink+  -- is invoked from 'IO' once per chunk emitted by the server, in order;+  -- 'runCopyToStream' returns once the server signals end of stream.+  runCopyToStream ::+    SqlCopyToStream be a ->+    -- | Sink. Called once for each chunk of bytes the server emits.+    (ByteString -> IO ()) ->+    m ()++instance (MonadBeamCopyToStream be m) => MonadBeamCopyToStream be (ExceptT e m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m) => MonadBeamCopyToStream be (ContT r m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m) => MonadBeamCopyToStream be (ReaderT r m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m) => MonadBeamCopyToStream be (Lazy.StateT r m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m) => MonadBeamCopyToStream be (Strict.StateT r m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m, Monoid r) => MonadBeamCopyToStream be (Lazy.WriterT r m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m, Monoid r) => MonadBeamCopyToStream be (Strict.WriterT r m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m, Monoid w) => MonadBeamCopyToStream be (Lazy.RWST r w s m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++instance (MonadBeamCopyToStream be m, Monoid w) => MonadBeamCopyToStream be (Strict.RWST r w s m) where+  runCopyToStream s cb = lift (runCopyToStream s cb)++-- | 'MonadBeam's that support streaming data into a database through the+-- client connection (e.g. PostgreSQL's @COPY ... FROM STDIN@).+--+-- The supplied @IO (Maybe ByteString)@ source is pulled repeatedly until it+-- returns 'Nothing', signalling end of data. 'runCopyFromStream' blocks+-- until the COPY commits; on failure it raises the underlying backend's+-- exception.+--+-- See 'MonadBeamCopyToStream' for the inverse operation.+--+-- @since 0.11.1.0+class (MonadBeam be m) => MonadBeamCopyFromStream be m | m -> be where+  -- | Execute a built streaming @COPY ... FROM@ statement. The supplied+  -- producer is pulled from 'IO' until it returns 'Nothing'; each 'Just'+  -- chunk is forwarded to the server in order. 'runCopyFromStream' returns+  -- once the server has acknowledged the end of stream.+  runCopyFromStream ::+    SqlCopyFromStream be a ->+    -- | Source. Called repeatedly. 'Nothing' signals end of data.+    IO (Maybe ByteString) ->+    m ()++instance (MonadBeamCopyFromStream be m) => MonadBeamCopyFromStream be (ExceptT e m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m) => MonadBeamCopyFromStream be (ContT r m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m) => MonadBeamCopyFromStream be (ReaderT r m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m) => MonadBeamCopyFromStream be (Lazy.StateT r m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m) => MonadBeamCopyFromStream be (Strict.StateT r m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m, Monoid r) => MonadBeamCopyFromStream be (Lazy.WriterT r m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m, Monoid r) => MonadBeamCopyFromStream be (Strict.WriterT r m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m, Monoid w) => MonadBeamCopyFromStream be (Lazy.RWST r w s m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)++instance (MonadBeamCopyFromStream be m, Monoid w) => MonadBeamCopyFromStream be (Strict.RWST r w s m) where+  runCopyFromStream s producer = lift (runCopyFromStream s producer)
Database/Beam/Backend/Types.hs view
@@ -6,8 +6,8 @@   , Exposed, Nullable    ) where+import Data.Kind (Type, Constraint) -import GHC.Types  -- | Class for all Beam backends class BeamBackend be where
Database/Beam/Query/CTE.hs view
@@ -10,7 +10,7 @@  import Control.Monad.Fix import Control.Monad.Free.Church-import Control.Monad.Writer hiding ((<>))+import Control.Monad.Writer (WriterT, tell) import Control.Monad.State.Strict  import Data.Kind (Type)
Database/Beam/Query/Internal.hs view
@@ -9,6 +9,7 @@  import qualified Data.DList as DList import           Data.Functor.Const+import           Data.Kind (Type, Constraint) import           Data.String import qualified Data.Text as T import           Data.Typeable@@ -20,7 +21,6 @@ import           Control.Monad.Writer  import           GHC.TypeLits-import           GHC.Types  import           Unsafe.Coerce 
Database/Beam/Query/SQL92.hs view
@@ -322,7 +322,12 @@              _ -> doJoined      buildQuery tblPfx (Free (QWindowOver mkWindows mkProjection q' next)) =-        let sb = buildQuery tblPfx (fromF q')+        -- If the inner select carries DISTINCT, GROUP BY, or HAVING, those must+        -- apply to the row set *before* the window function. Emitting them in+        -- the same SELECT as the window projection inverts that order in SQL,+        -- yielding wrong results (issue #746). Materialise the inner select as+        -- a subquery in that case so the window evaluates over its output.+        let sb = forceSubqueryIfGrouping (buildQuery tblPfx (fromF q'))              x = sbProj sb             windows = mkWindows x@@ -336,6 +341,17 @@              _       ->                let (x', qb) = selectBuilderToQueryBuilder tblPfx (setSelectBuilderProjection sb projection)                in buildJoinedQuery tblPfx (next x') qb+      where+        forceSubqueryIfGrouping :: Projectible be x' => SelectBuilder be db x' -> SelectBuilder be db x'+        forceSubqueryIfGrouping sb0+          | hasGroupingClause sb0 = uncurry SelectBuilderQ $ selectBuilderToQueryBuilder tblPfx sb0+          | otherwise = sb0+          where+            hasGroupingClause :: SelectBuilder be db x' -> Bool+            hasGroupingClause (SelectBuilderGrouping _ _ grouping having distinct) =+                isJust grouping || isJust having || isJust distinct+            hasGroupingClause (SelectBuilderTopLevel _ _ _ inner _) = hasGroupingClause inner+            hasGroupingClause _ = False      buildQuery tblPfx (Free (QLimit limit q' next)) =         let sb = limitSelectBuilder limit (buildQuery tblPfx (fromF q'))
Database/Beam/Schema/Tables.hs view
@@ -79,10 +79,11 @@ import           Control.Applicative (liftA2) import           Control.Arrow (first) import           Control.Monad.Identity-import           Control.Monad.Writer hiding ((<>))+import           Control.Monad.Writer (Writer, execWriter, tell)  import           Data.Char (isUpper, toLower) import           Data.Foldable (fold)+import           Data.Kind (Type, Constraint) import qualified Data.List.NonEmpty as NE import           Data.Monoid import           Data.Proxy@@ -94,7 +95,6 @@ import qualified GHC.Generics as Generic import           GHC.Generics hiding (R, C) import           GHC.TypeLits-import           GHC.Types  import           Lens.Micro hiding (to) 
beam-core.cabal view
@@ -1,5 +1,5 @@ name:                beam-core-version:             0.11.0.0+version:             0.11.1.0 synopsis:            Type-safe, feature-complete SQL query and manipulation interface for Haskell description:         Beam is a Haskell library for type-safe querying and manipulation of SQL databases.                      Beam is modular and supports various backends. In order to use beam, you will need to use@@ -47,7 +47,10 @@                         Database.Beam.Backend.Internal.Compat -  other-modules:       Database.Beam.Query.Aggregate+  other-modules:       Database.Beam.Backend.SQL.BeamExtensions.Copy.File+                       Database.Beam.Backend.SQL.BeamExtensions.Copy.Stream++                       Database.Beam.Query.Aggregate                        Database.Beam.Query.Combinators                        Database.Beam.Query.Extensions                        Database.Beam.Query.Extract@@ -63,10 +66,9 @@                        bytestring   >=0.10    && <0.13,                        mtl          >=2.2.1   && <2.4,                        microlens    >=0.4     && <0.6,-                       ghc-prim     >=0.5     && <0.14,                        free         >=4.12    && <5.3,                        dlist        >=0.7.1.2 && <1.1,-                       time         >=1.6     && <1.15,+                       time         >=1.6     && <1.17,                        hashable     >=1.2.4.0 && <1.6,                        network-uri  >=2.6     && <2.7,                        containers   >=0.5     && <0.9,
test/Database/Beam/Test/SQL.hs view
@@ -31,6 +31,7 @@                   , leftJoinSingle                   , aggregates                   , orderBy+                  , innerNub                    , joinHaving @@ -127,7 +128,7 @@ simpleWhereNoFrom =   testCase "WHERE clause not dropped if there is no FROM" $ do     SqlSelect Select { selectTable = SelectTable { .. }, .. } <- pure $ selectMock simple-    +     selectGrouping @?= Nothing     selectOrdering @?= []     selectLimit @?= Nothing@@ -137,7 +138,7 @@     -- Important point: no FROM clause, yet WHERE clause should still be here     selectFrom @?= Nothing     selectWhere @?= (Just (ExpressionValue (Value False)))-  +   where     simple :: Q (MockSqlBackend Command) EmptyDb s (QExpr (MockSqlBackend Command) s Bool)     simple = do@@ -769,6 +770,61 @@          selectFrom s @?= Just (InnerJoin (FromTable (TableNamed (TableName Nothing "roles")) (Just ("t0", Nothing)))                                           (FromTable (TableFromSubSelect subselect) (Just ("t1", Nothing)))                                           Nothing)+++-- | Ensure that a SQL DISTINCT in a subquery does not propagate up (see issue #746)+innerNub :: TestTree+innerNub =+  testCase "DISTINCT clause on inner SELECT" $ do+    stmt@(SqlSelect Select{selectTable = SelectTable{..}, ..}) <- pure $ selectMock query++    selectGrouping @?= Nothing+    selectOrdering @?= []+    selectLimit @?= Nothing+    selectOffset @?= Nothing+    selectHaving @?= Nothing+    selectQuantifier @?= Nothing -- quantifier should be in the subquery+    selectFrom+      @?= Just+        ( FromTable+            ( TableFromSubSelect+                ( Select+                    { selectTable =+                        SelectTable+                          { selectQuantifier = Just SetQuantifierDistinct+                          , selectProjection = ProjExprs [(ExpressionFieldName (QualifiedField "t0" "first_name"), Just "res0")]+                          , selectFrom = Just (FromTable (TableNamed (TableName Nothing "employees")) (Just ("t0", Nothing)))+                          , selectWhere = Nothing+                          , selectGrouping = Nothing+                          , selectHaving = Nothing+                          }+                    , selectOrdering = []+                    , selectLimit = Nothing+                    , selectOffset = Nothing+                    }+                )+            )+            (Just ("t0", Nothing))+        )+    selectWhere+      @?= Just+        ( ExpressionCompOp+            "=="+            Nothing+            (ExpressionFieldName (QualifiedField "t0" "res0"))+            (ExpressionValue (Value @Text "Alice"))+        )+ where+  query :: Q (MockSqlBackend Command) EmployeeDb s (QExpr (MockSqlBackend Command) s Text)+  query = do+    name <- subQuery+    guard_ (name ==. val_ "Alice")+    pure name++  -- This sub query contains a DISTINCT clause via `nub_`+  subQuery :: Q (MockSqlBackend Command) EmployeeDb s (QExpr (MockSqlBackend Command) s Text)+  subQuery = nub_ $ _employeeFirstName <$> (all_ (_employees employeeDbSettings))+  -- | HAVING clause should not be floated out of a join