sqel-0.0.1.0: Guided derivation for Hasql statements
Safe HaskellSafe-Inferred
LanguageHaskell2010

Sqel.Data.Sel

Documentation

type family IndexPrefixed (spec :: SelPrefix) (name :: Symbol) :: Symbol where ... Source #

Equations

IndexPrefixed 'DefaultPrefix name = AppendSymbol "sqel_sum_index__" name 
IndexPrefixed 'NoPrefix name = name 
IndexPrefixed ('SelPrefix spec) name = AppendSymbol spec name 

class KnownSymbol name => IndexName prefix tpe name | prefix tpe -> name Source #

Instances

Instances details
(name ~ IndexPrefixed prefixSpec tpe, KnownSymbol name) => IndexName prefixSpec tpe name Source # 
Instance details

Defined in Sqel.Data.Sel

type family TypePrefixed (spec :: SelPrefix) (name :: Symbol) :: Symbol where ... Source #

Equations

TypePrefixed 'DefaultPrefix name = AppendSymbol "sqel_type__" name 
TypePrefixed 'NoPrefix name = name 
TypePrefixed ('SelPrefix spec) name = AppendSymbol spec name 

class (KnownSymbol name, KnownSymbol tpe) => TypeName prefix tpe name | prefix tpe -> name Source #

Instances

Instances details
(name ~ TypePrefixed prefixSpec tpe, KnownSymbol name, KnownSymbol tpe) => TypeName prefixSpec tpe name Source # 
Instance details

Defined in Sqel.Data.Sel

data SelW sel where Source #

Constructors

SelWSymbol :: KnownSymbol name => Proxy name -> SelW ('SelSymbol name) 
SelWPath :: SelW ('SelPath path) 
SelWAuto :: SelW 'SelAuto 
SelWUnused :: SelW 'SelUnused 
SelWIndex :: IndexName prefix tpe name => Proxy name -> SelW ('SelIndex prefix tpe) 

class MkSel sel where Source #

Methods

mkSel :: SelW sel Source #

Instances

Instances details
MkSel 'SelAuto Source # 
Instance details

Defined in Sqel.Data.Sel

MkSel 'SelUnused Source # 
Instance details

Defined in Sqel.Data.Sel

MkSel ('SelPath p) Source # 
Instance details

Defined in Sqel.Data.Sel

Methods

mkSel :: SelW ('SelPath p) Source #

KnownSymbol sel => MkSel ('SelSymbol sel) Source # 
Instance details

Defined in Sqel.Data.Sel

Methods

mkSel :: SelW ('SelSymbol sel) Source #

class KnownSymbol name => ReifySel sel name | sel -> name where Source #

Methods

reifySel :: SelW sel -> Text Source #

Instances

Instances details
KnownSymbol name => ReifySel ('SelSymbol name) name Source # 
Instance details

Defined in Sqel.Data.Sel

Methods

reifySel :: SelW ('SelSymbol name) -> Text Source #

IndexName prefixSpec sel name => ReifySel ('SelIndex prefixSpec sel) name Source # 
Instance details

Defined in Sqel.Data.Sel

Methods

reifySel :: SelW ('SelIndex prefixSpec sel) -> Text Source #

data TSel Source #

Constructors

TSel SelPrefix Symbol 

Instances

Instances details
(MkTSel sel, fields ~ ProductFields (GDatatypeInfoOf a) (GCode a), meta ~ MetaFor "product type" ('ShowType a) "prod", CompColumn meta fields a arg s) => ProductSel (sel :: TSel) a arg ('DdK 'SelAuto (NoMods :: [Type]) a ('Comp sel ('Prod 'Reg) 'Nest s)) Source # 
Instance details

Defined in Sqel.Product

Methods

prodSel :: arg -> Dd ('DdK 'SelAuto NoMods a ('Comp sel ('Prod 'Reg) 'Nest s)) Source #

data TSelW sel where Source #

Constructors

TSelW :: TypeName prefix tpe name => Proxy '(tpe, name) -> TSelW ('TSel prefix tpe) 

Instances

Instances details
Show (TSelW s) Source # 
Instance details

Defined in Sqel.Data.Sel

Methods

showsPrec :: Int -> TSelW s -> ShowS #

show :: TSelW s -> String #

showList :: [TSelW s] -> ShowS #

class KnownSymbol name => ReifyTSel sel name | sel -> name where Source #

Methods

reifyTSel :: TSelW sel -> Text Source #

Instances

Instances details
TypeName prefixSpec sel name => ReifyTSel ('TSel prefixSpec sel) name Source # 
Instance details

Defined in Sqel.Data.Sel

Methods

reifyTSel :: TSelW ('TSel prefixSpec sel) -> Text Source #

class MkTSel sel where Source #

Methods

mkTSel :: TSelW sel Source #

Instances

Instances details
TypeName prefix tpe name => MkTSel ('TSel prefix tpe) Source # 
Instance details

Defined in Sqel.Data.Sel

Methods

mkTSel :: TSelW ('TSel prefix tpe) Source #