relational-query-0.12.2.1: Typeful, Modular, Relational, algebraic query engine

Copyright2017 Kei Hibino
LicenseBSD3
Maintainerex8k.hibino@gmail.com
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Database.Relational.OverloadedProjection

Contents

Description

This module provides interfaces of overloaded projections.

Synopsis

Documentation

class HasProjection l a b | l a -> b where Source #

Projection interface to implement Pi with row polymorphism.

Methods

projection :: PiLabel l -> Pi a b Source #

Instances
(PersistableWidth a1, PersistableWidth a2) => HasProjection "fst" (a1, a2) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "fst" -> Pi (a1, a2) a1 Source #

(PersistableWidth a1, PersistableWidth a2) => HasProjection "pi0" (a1, a2) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi0" -> Pi (a1, a2) a1 Source #

(PersistableWidth a1, PersistableWidth a2) => HasProjection "pi1" (a1, a2) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi1" -> Pi (a1, a2) a2 Source #

(PersistableWidth a1, PersistableWidth a2) => HasProjection "snd" (a1, a2) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "snd" -> Pi (a1, a2) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3) => HasProjection "fst" (a1, a2, a3) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "fst" -> Pi (a1, a2, a3) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3) => HasProjection "pi0" (a1, a2, a3) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi0" -> Pi (a1, a2, a3) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3) => HasProjection "pi1" (a1, a2, a3) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi1" -> Pi (a1, a2, a3) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3) => HasProjection "pi2" (a1, a2, a3) a3 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi2" -> Pi (a1, a2, a3) a3 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3) => HasProjection "snd" (a1, a2, a3) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "snd" -> Pi (a1, a2, a3) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4) => HasProjection "fst" (a1, a2, a3, a4) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "fst" -> Pi (a1, a2, a3, a4) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4) => HasProjection "pi0" (a1, a2, a3, a4) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi0" -> Pi (a1, a2, a3, a4) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4) => HasProjection "pi1" (a1, a2, a3, a4) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi1" -> Pi (a1, a2, a3, a4) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4) => HasProjection "pi2" (a1, a2, a3, a4) a3 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi2" -> Pi (a1, a2, a3, a4) a3 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4) => HasProjection "pi3" (a1, a2, a3, a4) a4 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi3" -> Pi (a1, a2, a3, a4) a4 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4) => HasProjection "snd" (a1, a2, a3, a4) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "snd" -> Pi (a1, a2, a3, a4) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5) => HasProjection "fst" (a1, a2, a3, a4, a5) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "fst" -> Pi (a1, a2, a3, a4, a5) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5) => HasProjection "pi0" (a1, a2, a3, a4, a5) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi0" -> Pi (a1, a2, a3, a4, a5) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5) => HasProjection "pi1" (a1, a2, a3, a4, a5) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi1" -> Pi (a1, a2, a3, a4, a5) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5) => HasProjection "pi2" (a1, a2, a3, a4, a5) a3 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi2" -> Pi (a1, a2, a3, a4, a5) a3 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5) => HasProjection "pi3" (a1, a2, a3, a4, a5) a4 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi3" -> Pi (a1, a2, a3, a4, a5) a4 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5) => HasProjection "pi4" (a1, a2, a3, a4, a5) a5 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi4" -> Pi (a1, a2, a3, a4, a5) a5 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5) => HasProjection "snd" (a1, a2, a3, a4, a5) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "snd" -> Pi (a1, a2, a3, a4, a5) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "fst" (a1, a2, a3, a4, a5, a6) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "fst" -> Pi (a1, a2, a3, a4, a5, a6) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "pi0" (a1, a2, a3, a4, a5, a6) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi0" -> Pi (a1, a2, a3, a4, a5, a6) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "pi1" (a1, a2, a3, a4, a5, a6) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi1" -> Pi (a1, a2, a3, a4, a5, a6) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "pi2" (a1, a2, a3, a4, a5, a6) a3 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi2" -> Pi (a1, a2, a3, a4, a5, a6) a3 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "pi3" (a1, a2, a3, a4, a5, a6) a4 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi3" -> Pi (a1, a2, a3, a4, a5, a6) a4 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "pi4" (a1, a2, a3, a4, a5, a6) a5 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi4" -> Pi (a1, a2, a3, a4, a5, a6) a5 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "pi5" (a1, a2, a3, a4, a5, a6) a6 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi5" -> Pi (a1, a2, a3, a4, a5, a6) a6 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6) => HasProjection "snd" (a1, a2, a3, a4, a5, a6) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "snd" -> Pi (a1, a2, a3, a4, a5, a6) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "fst" (a1, a2, a3, a4, a5, a6, a7) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "fst" -> Pi (a1, a2, a3, a4, a5, a6, a7) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "pi0" (a1, a2, a3, a4, a5, a6, a7) a1 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi0" -> Pi (a1, a2, a3, a4, a5, a6, a7) a1 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "pi1" (a1, a2, a3, a4, a5, a6, a7) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi1" -> Pi (a1, a2, a3, a4, a5, a6, a7) a2 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "pi2" (a1, a2, a3, a4, a5, a6, a7) a3 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi2" -> Pi (a1, a2, a3, a4, a5, a6, a7) a3 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "pi3" (a1, a2, a3, a4, a5, a6, a7) a4 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi3" -> Pi (a1, a2, a3, a4, a5, a6, a7) a4 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "pi4" (a1, a2, a3, a4, a5, a6, a7) a5 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi4" -> Pi (a1, a2, a3, a4, a5, a6, a7) a5 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "pi5" (a1, a2, a3, a4, a5, a6, a7) a6 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi5" -> Pi (a1, a2, a3, a4, a5, a6, a7) a6 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "pi6" (a1, a2, a3, a4, a5, a6, a7) a7 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "pi6" -> Pi (a1, a2, a3, a4, a5, a6, a7) a7 Source #

(PersistableWidth a1, PersistableWidth a2, PersistableWidth a3, PersistableWidth a4, PersistableWidth a5, PersistableWidth a6, PersistableWidth a7) => HasProjection "snd" (a1, a2, a3, a4, a5, a6, a7) a2 Source # 
Instance details

Defined in Database.Relational.OverloadedInstances

Methods

projection :: PiLabel "snd" -> Pi (a1, a2, a3, a4, a5, a6, a7) a2 Source #

Orphan instances

HasProjection l a b => IsLabel l (Pi a b) Source #

Derive IsLabel instance from HasProjection.

Instance details

Methods

fromLabel :: Pi a b #

(PersistableWidth a, HasProjection l a b) => IsLabel l (PI c a b) Source #

Derive PI label.

Instance details

Methods

fromLabel :: PI c a b #