Module

Yoga.ScyllaDB.Schema

Package
purescript-yoga-scylladb
Repository
rowtype-yoga/purescript-yoga-scylladb

#Table Source

data Table :: Symbol -> Row Type -> Typedata Table name columns

Constructors

Instances

#IsNullable Source

class IsNullable :: forall k. k -> Constraintclass IsNullable a  where

Members

Instances

#ExtractType Source

class ExtractType wrapped typ | wrapped -> typ

Instances

#joinConstraints Source

#IsPartitionKey Source

#IsKeyColumn Source

class IsKeyColumn :: forall k. k -> Constraintclass IsKeyColumn a  where

Members

Instances

#RenderColumnsRL Source

class RenderColumnsRL :: RowList Type -> Constraintclass RenderColumnsRL rl  where

Members

Instances

#PartitionKeysRL Source

class PartitionKeysRL :: RowList Type -> Constraintclass PartitionKeysRL rl  where

Members

Instances

#ClusteringKeysRL Source

#CreateTableDDL Source

class CreateTableDDL :: forall k. k -> Constraintclass CreateTableDDL a  where

Members

Instances

#InsertColumnsRL Source

class InsertColumnsRL :: RowList Type -> Constraintclass InsertColumnsRL rl  where

Members

Instances

#InsertSQLFor Source

class InsertSQLFor :: forall k. k -> Constraintclass InsertSQLFor a  where

Members

Instances

#SelectAllSQLFor Source

class SelectAllSQLFor :: forall k. k -> Constraintclass SelectAllSQLFor a  where

Members

Instances

#WhereClauseRL Source

class WhereClauseRL :: RowList Type -> Constraintclass WhereClauseRL rl  where

Members

Instances

#SelectWhereSQLFor Source

class SelectWhereSQLFor :: forall k1 k2. k1 -> k2 -> Constraintclass SelectWhereSQLFor a whereRow  where

Members

Instances

#ColumnCountRL Source

class ColumnCountRL :: RowList Type -> Constraintclass ColumnCountRL rl  where

Members

Instances

#SetClauseRL Source

class SetClauseRL :: RowList Type -> Constraintclass SetClauseRL rl  where

Members

Instances

#UpdateSQLFor Source

class UpdateSQLFor :: forall k1 k2 k3. k1 -> k2 -> k3 -> Constraintclass UpdateSQLFor table setRow whereRow  where

Members

Instances

#DeleteSQLFor Source

class DeleteSQLFor :: forall k1 k2. k1 -> k2 -> Constraintclass DeleteSQLFor table whereRow  where

Members

Instances

#StripColumnsRL Source

class StripColumnsRL :: RowList Type -> RowList Type -> Constraintclass StripColumnsRL rl out | rl -> out

Instances

#StripColumns Source

class StripColumns :: Row Type -> Row Type -> Constraintclass StripColumns cols result | cols -> result

Instances

#NonKeyColumnsRL Source

class NonKeyColumnsRL :: RowList Type -> Constraintclass NonKeyColumnsRL rl  where

Members

Instances

#Q Source

newtype Q :: Row (Row Type) -> Row Type -> Row Type -> Row Type -> Typenewtype Q tables result params stage

Constructors

#toSQL Source

toSQL :: forall tables result params stage. Q tables result params stage -> String

#SingleTable Source

class SingleTable :: Row (Row Type) -> Symbol -> Row Type -> Constraintclass SingleTable tables name cols | tables -> name cols

Instances

#HasClause Source

class HasClause :: Symbol -> Row Type -> Constraintclass HasClause label row 

Instances

#HasAnyDML Source

class HasAnyDML :: Row Type -> Constraintclass HasAnyDML stage 

Instances

#HasAnyDMLRL Source

class HasAnyDMLRL :: RowList Type -> Constraintclass HasAnyDMLRL rl 

Instances

#RecordValuesRL Source

class RecordValuesRL :: RowList Type -> Row Type -> Constraintclass RecordValuesRL rl row  where

Members

Instances

#ColumnNamesRL Source

class ColumnNamesRL :: RowList Type -> Constraintclass ColumnNamesRL rl  where

Members

Instances

#ValidateSetColumnsRL Source

class ValidateSetColumnsRL :: RowList Type -> Row Type -> Constraintclass ValidateSetColumnsRL rl cols 

Instances

#from Source

from :: forall name cols tables. IsSymbol name => Cons name cols () tables => Proxy (Table name cols) -> Q tables () () ()

#selectAll Source

selectAll :: forall tables name cols result r p stage stage'. SingleTable tables name cols => StripColumns cols result => Lacks "select" stage => Lacks "insert" stage => Lacks "set" stage => Lacks "delete" stage => Lacks "where" stage => Lacks "orderBy" stage => Lacks "limit" stage => Cons "select" Unit stage stage' => Q tables r p stage -> Q tables result p stage'

#delete Source

delete :: forall tables name cols r p stage stage'. SingleTable tables name cols => IsSymbol name => Lacks "select" stage => Lacks "insert" stage => Lacks "set" stage => Lacks "delete" stage => Cons "delete" Unit stage stage' => Q tables r p stage -> Q tables () () stage'

#BuilderSetClauseRL Source

#insert Source

insert :: forall tables name cols userRow userRowRL stage stage'. SingleTable tables name cols => RowToList userRow userRowRL => ColumnNamesRL userRowRL => RecordValuesRL userRowRL userRow => IsSymbol name => Lacks "select" stage => Lacks "insert" stage => Lacks "set" stage => Lacks "delete" stage => Cons "insert" Unit stage stage' => Record userRow -> Q tables () () stage -> Q tables () () stage'

#set Source

set :: forall tables name cols setRow setRL stage stage'. SingleTable tables name cols => RowToList setRow setRL => IsSymbol name => ValidateSetColumnsRL setRL cols => BuilderSetClauseRL setRL => RecordValuesRL setRL setRow => Lacks "select" stage => Lacks "insert" stage => Lacks "set" stage => Lacks "delete" stage => Cons "set" Unit stage stage' => Record setRow -> Q tables () () stage -> Q tables () () stage'

#ParseWhere Source

class ParseWhere :: Symbol -> Row (Row Type) -> Row Type -> Constraintclass ParseWhere sym tables params | sym tables -> params

Instances

#ParseWhereGo Source

class ParseWhereGo :: Symbol -> Symbol -> Row (Row Type) -> RowList Type -> RowList Type -> Constraintclass ParseWhereGo head tail tables paramsIn paramsOut | head tail tables paramsIn -> paramsOut

Instances

#CollectParamName Source

class CollectParamName :: Symbol -> Symbol -> Symbol -> Symbol -> Constraintclass CollectParamName input acc name rest | input acc -> name rest

Instances

#CollectParamNameChar Source

class CollectParamNameChar :: Symbol -> Symbol -> Symbol -> Symbol -> Symbol -> Constraintclass CollectParamNameChar char tail acc name rest | char tail acc -> name rest

Instances

#EndOrContinue Source

class EndOrContinue :: Symbol -> Row (Row Type) -> RowList Type -> RowList Type -> Constraintclass EndOrContinue rest tables paramsIn paramsOut | rest tables paramsIn -> paramsOut

Instances

#ResolveParamType Source

class ResolveParamType :: Symbol -> RowList Type -> Type -> Constraintclass ResolveParamType name rl typ | name rl -> typ

Instances

#where_ Source

where_ :: forall @whr tables result params p stage stage'. IsSymbol whr => ParseWhere whr tables params => HasAnyDML stage => Lacks "where" stage => Lacks "insert" stage => Lacks "orderBy" stage => Lacks "limit" stage => Cons "where" Unit stage stage' => Q tables result p stage -> Q tables result params stage'

#orderBy Source

orderBy :: forall @cols tables result params stage stage'. IsSymbol cols => HasClause "select" stage => Lacks "orderBy" stage => Lacks "limit" stage => Cons "orderBy" Unit stage stage' => Q tables result params stage -> Q tables result params stage'

#ParseLimitOffset Source

class ParseLimitOffset :: Symbol -> Row Type -> Row Type -> Constraintclass ParseLimitOffset sym paramsIn paramsOut | sym paramsIn -> paramsOut

Instances

#ParseLimitOffsetChar Source

class ParseLimitOffsetChar :: Symbol -> Symbol -> Row Type -> Row Type -> Constraintclass ParseLimitOffsetChar head tail paramsIn paramsOut | head tail paramsIn -> paramsOut

Instances

#limit Source

limit :: forall @sym tables result params params' stage stage'. ParseLimitOffset sym params params' => IsSymbol sym => HasClause "select" stage => Lacks "limit" stage => Cons "limit" Unit stage stage' => Q tables result params stage -> Q tables result params' stage'

#ifNotExists Source

ifNotExists :: forall tables result params stage stage'. HasClause "insert" stage => Lacks "ifNotExists" stage => Cons "ifNotExists" Unit stage stage' => Q tables result params stage -> Q tables result params stage'

#ifExists Source

ifExists :: forall tables result params stage stage'. HasClause "where" stage => Lacks "ifExists" stage => Cons "ifExists" Unit stage stage' => Q tables result params stage -> Q tables result params stage'

#usingTTL Source

usingTTL :: forall @ttl tables result params stage stage'. IsSymbol ttl => HasClause "insert" stage => Lacks "usingTTL" stage => Cons "usingTTL" Unit stage stage' => Q tables result params stage -> Q tables result params stage'

#withTTL Source

withTTL :: forall @ttl tables result params stage stage'. IsSymbol ttl => Lacks "set" stage => Lacks "select" stage => Lacks "insert" stage => Lacks "delete" stage => Lacks "withTTL" stage => Cons "withTTL" Unit stage stage' => Q tables result params stage -> Q tables result params stage'

#allowFiltering Source

allowFiltering :: forall tables result params stage stage'. HasClause "select" stage => Lacks "allowFiltering" stage => Cons "allowFiltering" Unit stage stage' => Q tables result params stage -> Q tables result params stage'

#ParseSelect Source

class ParseSelect :: Symbol -> Row (Row Type) -> Row Type -> Constraintclass ParseSelect sym tables result | sym tables -> result

Instances

#ParseSelectGo Source

class ParseSelectGo :: Symbol -> Symbol -> Symbol -> Row (Row Type) -> RowList Type -> RowList Type -> Constraintclass ParseSelectGo head tail acc tables resultIn resultOut | head tail acc tables resultIn -> resultOut

Instances

#SkipSpaces Source

class SkipSpaces :: Symbol -> Symbol -> Symbol -> Symbol -> Constraintclass SkipSpaces head tail outHead outTail | head tail -> outHead outTail

Instances

#select Source

select :: forall @sel tables result r p stage stage'. IsSymbol sel => ParseSelect sel tables result => Lacks "select" stage => Lacks "insert" stage => Lacks "set" stage => Lacks "delete" stage => Lacks "where" stage => Lacks "orderBy" stage => Lacks "limit" stage => Cons "select" Unit stage stage' => Q tables r p stage -> Q tables result p stage'

#ParamsToArray Source

class ParamsToArray :: RowList Type -> Row Type -> Constraintclass ParamsToArray rl row  where

Members

Instances

#namedParamRegex Source

#replaceNamedParams Source

replaceNamedParams :: Array { name :: String, value :: Foreign } -> String -> { sql :: String, values :: Array Foreign }

#decodeRows Source

#runQuery Source

runQuery :: forall tables result params paramsRL stage. RowToList params paramsRL => ParamsToArray paramsRL params => ReadForeign (Record result) => Client -> Record params -> Q tables result params stage -> Aff (Array (Record result))

#runQueryOne Source

runQueryOne :: forall tables result params paramsRL stage. RowToList params paramsRL => ParamsToArray paramsRL params => ReadForeign (Record result) => Client -> Record params -> Q tables result params stage -> Aff (Maybe (Record result))

#runExecute Source

runExecute :: forall tables params paramsRL stage. RowToList params paramsRL => ParamsToArray paramsRL params => Client -> Record params -> Q tables () params stage -> Aff Unit