opaleye-0.7.3.0: An SQL-generating DSL targeting PostgreSQL
Safe HaskellNone
LanguageHaskell2010

Opaleye.Distinct

Synopsis

Documentation

distinct :: Default Distinctspec fields fields => Select fields -> Select fields Source #

Remove duplicate rows from the Select.

Example type specialization:

distinct :: Select (Field a, Field b) -> Select (Field a, Field b)

Assuming the makeAdaptorAndInstance splice has been run for the product type Foo:

distinct :: Select (Foo (Field a) (Field b) (Field c)) -> Select (Foo (Field a) (Field b) (Field c))

If you want to run distinct on SelectArrs you should apply laterally to it:

laterally distinct :: Default Distinctspec fields fields => SelectArr i fields -> SelectArr i fields

data Distinctspec a b Source #

Instances

Instances details
Profunctor Distinctspec Source # 
Instance details

Defined in Opaleye.Internal.Distinct

Methods

dimap :: (a -> b) -> (c -> d) -> Distinctspec b c -> Distinctspec a d #

lmap :: (a -> b) -> Distinctspec b c -> Distinctspec a c #

rmap :: (b -> c) -> Distinctspec a b -> Distinctspec a c #

(#.) :: forall a b c q. Coercible c b => q b c -> Distinctspec a b -> Distinctspec a c #

(.#) :: forall a b c q. Coercible b a => Distinctspec b c -> q a b -> Distinctspec a c #

ProductProfunctor Distinctspec Source # 
Instance details

Defined in Opaleye.Internal.Distinct

Methods

purePP :: b -> Distinctspec a b #

(****) :: Distinctspec a (b -> c) -> Distinctspec a b -> Distinctspec a c #

empty :: Distinctspec () () #

(***!) :: Distinctspec a b -> Distinctspec a' b' -> Distinctspec (a, a') (b, b') #

SumProfunctor Distinctspec Source # 
Instance details

Defined in Opaleye.Internal.Distinct

Methods

(+++!) :: Distinctspec a b -> Distinctspec a' b' -> Distinctspec (Either a a') (Either b b') #

Default Distinctspec (Column a) (Column a) Source # 
Instance details

Defined in Opaleye.Internal.Distinct

Methods

def :: Distinctspec (Column a) (Column a) #

Default (WithNulls Distinctspec) a b => Default Distinctspec (MaybeFields a) (MaybeFields b) Source # 
Instance details

Defined in Opaleye.Internal.Distinct

Functor (Distinctspec a) Source # 
Instance details

Defined in Opaleye.Internal.Distinct

Methods

fmap :: (a0 -> b) -> Distinctspec a a0 -> Distinctspec a b #

(<$) :: a0 -> Distinctspec a b -> Distinctspec a a0 #

Applicative (Distinctspec a) Source # 
Instance details

Defined in Opaleye.Internal.Distinct

Methods

pure :: a0 -> Distinctspec a a0 #

(<*>) :: Distinctspec a (a0 -> b) -> Distinctspec a a0 -> Distinctspec a b #

liftA2 :: (a0 -> b -> c) -> Distinctspec a a0 -> Distinctspec a b -> Distinctspec a c #

(*>) :: Distinctspec a a0 -> Distinctspec a b -> Distinctspec a b #

(<*) :: Distinctspec a a0 -> Distinctspec a b -> Distinctspec a a0 #

Explicit versions

distinctExplicit :: Distinctspec fields fields' -> Select fields -> Select fields' Source #

Adaptors