Copyright | 2017 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
Database.Relational.Projectable.Unsafe
Description
This module provides unsafe interfaces between projected terms and SQL terms.
Synopsis
- class SqlContext c where
- unsafeProjectSqlTerms :: [StringSQL] -> Record c t
- class SqlContext c => OperatorContext c
- class AggregatedContext ac
- data PlaceHolders p = PlaceHolders
Documentation
class SqlContext c where Source #
Interface to project SQL terms unsafely.
Methods
unsafeProjectSqlTerms :: [StringSQL] -> Record c t Source #
Unsafely project from SQL expression terms.
Instances
SqlContext OverWindow Source # | Unsafely make |
Defined in Database.Relational.Projectable.Instances Methods unsafeProjectSqlTerms :: [StringSQL] -> Record OverWindow t Source # | |
SqlContext Aggregated Source # | Unsafely make |
Defined in Database.Relational.Projectable.Instances Methods unsafeProjectSqlTerms :: [StringSQL] -> Record Aggregated t Source # | |
SqlContext Flat Source # | Unsafely make |
Defined in Database.Relational.Projectable.Instances |
class SqlContext c => OperatorContext c Source #
Constraint to restrict context of full SQL expressions. For example, the expression at the left of OVER clause is not allowed using full SQL expression.
Instances
OperatorContext Aggregated Source # | full SQL expression is availabe in Aggregated context |
Defined in Database.Relational.Projectable.Instances | |
OperatorContext Flat Source # | full SQL expression is availabe in Flat context |
Defined in Database.Relational.Projectable.Instances |
class AggregatedContext ac Source #
Constraint to restrict context of aggregated SQL context.
Instances
AggregatedContext OverWindow Source # |
|
Defined in Database.Relational.Projectable.Instances | |
AggregatedContext Aggregated Source # |
|
Defined in Database.Relational.Projectable.Instances |
data PlaceHolders p Source #
Placeholder parameter type which has real parameter type arguemnt p
.
Constructors
PlaceHolders |
Instances
ProductIsoApplicative PlaceHolders | Compose record type |
Defined in Database.Relational.Projectable.Instances Methods pureP :: ProductConstructor a => a -> PlaceHolders a (|*|) :: PlaceHolders (a -> b) -> PlaceHolders a -> PlaceHolders b | |
ProductIsoFunctor PlaceHolders | Compose seed of record type |
Defined in Database.Relational.Projectable.Instances Methods (|$|) :: ProductConstructor (a -> b) => (a -> b) -> PlaceHolders a -> PlaceHolders b | |
ProjectableMaybe PlaceHolders Source # | Control phantom |
Defined in Database.Relational.Projectable Methods just :: PlaceHolders a -> PlaceHolders (Maybe a) Source # flattenMaybe :: PlaceHolders (Maybe (Maybe a)) -> PlaceHolders (Maybe a) Source # | |
ProductIsoEmpty PlaceHolders () | Zipping except for identity element laws against placeholder parameter type. |
Defined in Database.Relational.Projectable.Instances Methods pureE :: PlaceHolders () peRight :: PlaceHolders (a, ()) -> PlaceHolders a peLeft :: PlaceHolders ((), a) -> PlaceHolders a | |
TableDerivable r => Show (Record Flat r -> Assign r (PlaceHolders p)) Source # | Show Set clause and WHERE clause. |
TableDerivable r => Show (Record Flat r -> Restrict (PlaceHolders p)) Source # | Show WHERE clause. |