| 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. |