queryparser-0.1.0.1: Analysis and parsing library for SQL queries.

Safe HaskellNone
LanguageHaskell2010

Database.Sql.Util.Eval.Concrete

Synopsis

Documentation

data Concrete Source #

Instances

Evaluation Concrete Source # 

Associated Types

type EvalValue Concrete :: * Source #

type EvalRow Concrete :: * -> * Source #

type EvalMonad Concrete :: * -> * Source #

Methods

addItems :: Proxy * Concrete -> EvalRow Concrete [EvalValue Concrete] -> EvalRow Concrete [EvalValue Concrete] -> EvalT Concrete TableContext (EvalMonad Concrete) (EvalRow Concrete [EvalValue Concrete]) Source #

removeItems :: Proxy * Concrete -> EvalRow Concrete [EvalValue Concrete] -> EvalRow Concrete [EvalValue Concrete] -> EvalT Concrete TableContext (EvalMonad Concrete) (EvalRow Concrete [EvalValue Concrete]) Source #

unionItems :: Proxy * Concrete -> EvalRow Concrete [EvalValue Concrete] -> EvalRow Concrete [EvalValue Concrete] -> EvalT Concrete TableContext (EvalMonad Concrete) (EvalRow Concrete [EvalValue Concrete]) Source #

intersectItems :: Proxy * Concrete -> EvalRow Concrete [EvalValue Concrete] -> EvalRow Concrete [EvalValue Concrete] -> EvalT Concrete TableContext (EvalMonad Concrete) (EvalRow Concrete [EvalValue Concrete]) Source #

distinctItems :: Proxy * Concrete -> EvalRow Concrete [EvalValue Concrete] -> EvalRow Concrete [EvalValue Concrete] Source #

offsetItems :: Proxy * Concrete -> Int -> RecordSet Concrete -> RecordSet Concrete Source #

limitItems :: Proxy * Concrete -> Int -> RecordSet Concrete -> RecordSet Concrete Source #

filterBy :: Expr ResolvedNames Range -> RecordSet Concrete -> EvalT Concrete TableContext (EvalMonad Concrete) (RecordSet Concrete) Source #

inList :: EvalValue Concrete -> [EvalValue Concrete] -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

inSubquery :: EvalValue Concrete -> EvalRow Concrete [EvalValue Concrete] -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

existsSubquery :: EvalRow Concrete [EvalValue Concrete] -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

atTimeZone :: EvalValue Concrete -> EvalValue Concrete -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

handleConstant :: Proxy * Concrete -> Constant a -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

handleCases :: Proxy * Concrete -> [(Expr ResolvedNames Range, Expr ResolvedNames Range)] -> Maybe (Expr ResolvedNames Range) -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

handleFunction :: Proxy * Concrete -> FunctionName Range -> Distinct -> [Expr ResolvedNames Range] -> [(ParamName Range, Expr ResolvedNames Range)] -> Maybe (Filter ResolvedNames Range) -> Maybe (OverSubExpr ResolvedNames Range) -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

handleGroups :: [RColumnRef ()] -> EvalRow Concrete ([EvalValue Concrete], EvalRow Concrete [EvalValue Concrete]) -> EvalRow Concrete (RecordSet Concrete) Source #

handleLike :: Proxy * Concrete -> Operator a -> Maybe (Escape ResolvedNames Range) -> Pattern ResolvedNames Range -> Expr ResolvedNames Range -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

handleOrder :: Proxy * Concrete -> [Order ResolvedNames Range] -> RecordSet Concrete -> EvalT Concrete TableContext (EvalMonad Concrete) (RecordSet Concrete) Source #

handleSubquery :: EvalRow Concrete [EvalValue Concrete] -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

handleJoin :: Proxy * Concrete -> JoinType a -> JoinCondition ResolvedNames Range -> RecordSet Concrete -> RecordSet Concrete -> EvalT Concrete TableContext (EvalMonad Concrete) (RecordSet Concrete) Source #

handleStructField :: Expr ResolvedNames Range -> StructFieldName a -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

handleTypeCast :: CastFailureAction -> Expr ResolvedNames Range -> DataType a -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete) Source #

binop :: Proxy * Concrete -> Text -> Maybe (EvalValue Concrete -> EvalValue Concrete -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete)) Source #

unop :: Proxy * Concrete -> Text -> Maybe (EvalValue Concrete -> EvalT Concrete ExprContext (EvalMonad Concrete) (EvalValue Concrete)) Source #

Eq (RecordSet Concrete) Source # 
Show (RecordSet Concrete) Source # 
type EvalValue Concrete Source # 
type EvalRow Concrete Source # 
type EvalRow Concrete = []
type EvalMonad Concrete Source # 

truthy :: SqlValue -> Bool Source #

truthy tells us whether our Haskell code should consider a SqlValue "true", mostly for the purpose of filtering. It should not be used to construct a SqlValue, as it does not handle NULL correctly for that purpose.