Moduleopaleye-0.10.8.0Haskell2010
Opaleye.Binary
Binary relational operations on Selects, that is, operations which take two Selects as arguments and return a single Select.
All the binary relational operations have the same type specializations. For example:
unionAll :: S.Select (Field a, Field b)
-> S.Select (Field a, Field b)
-> S.Select (Field a, Field b)
Assuming the makeAdaptorAndInstanceInferrable splice has been run for the product type Foo:
unionAll :: S.Select (Foo (Field a) (Field b) (Field c))
-> S.Select (Foo (Field a) (Field b) (Field c))
-> S.Select (Foo (Field a) (Field b) (Field c))
If you want to run a binary relational operator on
SelectArrs you should apply Opaleye.Lateral.bilaterally
to it, for example
Opaleye.Lateral.bilaterally union
:: Data.Profunctor.Product.Default Binaryspec fields fields
=> SelectArr i fields -> SelectArr i fields -> SelectArr i fields
unionAll is very close to being the <|> operator of a
Control.Applicative.Alternative instance but it fails to work
only because of the typeclass constraint it has.
- 13 values
- Packageopaleye-0.10.8.0
- Exports13
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceBinary.hs
Binary operations
6 declarationsThe same as unionAll, except that it additionally removes any duplicate rows.
The same as intersectAll, except that it additionally removes any duplicate rows.
The same as exceptAll, except that it additionally removes any duplicate rows.