-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | SQL keywords data constructors into OverloadedString
--
-- This package contiains SQL keywords constructors defined as
-- OverloadedString literals and helper functions to concate these.
@package sql-words
@version 0.1.6.2
-- | Concatinations on Keyword types
module Language.SQL.Keyword.Concat
-- | Concatinate Keyword list like unwords on String list.
unwords' :: [Keyword] -> Keyword
-- | Separate Keyword list with delimiter Keyword and
-- concatinate into one Keyword.
sepBy :: [Keyword] -> Keyword -> Keyword
-- | Do sepBy and enclose by paren
parenSepBy :: [Keyword] -> Keyword -> Keyword
-- | Define binary operator on Keyword type. Result is delimited by
-- whitespace like unwords on String list.
defineBinOp :: Keyword -> Keyword -> Keyword -> Keyword
-- | Define binary operator of string from Keyword binary operator.
strBinOp :: (Keyword -> Keyword -> Keyword) -> String -> String -> String
-- | Binary operator for SQL name alias.
as :: Keyword -> Keyword -> Keyword
-- | Binary operator to create qualified name on SQL.
(<.>) :: Keyword -> Keyword -> Keyword
-- | Binary operator to create comma separated words.
(|*|) :: Keyword -> Keyword -> Keyword
infixr 1 |*|
-- | Binary operator for SQL string expression concatination.
(.||.) :: Keyword -> Keyword -> Keyword
infixr 5 .||.
-- | Binary eq operator for SQL expression.
(.=.) :: Keyword -> Keyword -> Keyword
infixr 4 .=.
-- | Binary lt operator for SQL expression.
(.<.) :: Keyword -> Keyword -> Keyword
infixr 4 .<.
-- | Binary le operator for SQL expression.
(.<=.) :: Keyword -> Keyword -> Keyword
infixr 4 .<=.
-- | Binary gt operator for SQL expression.
(.>.) :: Keyword -> Keyword -> Keyword
infixr 4 .>.
-- | Binary ge operator for SQL expression.
(.>=.) :: Keyword -> Keyword -> Keyword
infixr 4 .>=.
-- | Binary not eq operator for SQL expression.
(.<>.) :: Keyword -> Keyword -> Keyword
infixr 4 .<>.
-- | Binary AND operator for SQL boolean expression.
and :: Keyword -> Keyword -> Keyword
infixr 3 `and`
-- | Binary OR operator for SQL boolean expression.
or :: Keyword -> Keyword -> Keyword
infixr 2 `or`
-- | Binary IN operator for SQL.
in' :: Keyword -> Keyword -> Keyword
infix 4 `in'`
-- | Directly concatinate SQL string without whitespaces.
(<++>) :: Keyword -> Keyword -> Keyword
infixr 6 <++>
-- | Fold operation using binary operator with empty result of zero length
-- case.
fold :: (Keyword -> Keyword -> Keyword) -> [Keyword] -> Keyword
-- | Define unary operator on Keyword type represeted by specified
-- Keyword. Result is delimited by whitespace like unwords on
-- String list.
defineUniOp :: Keyword -> Keyword -> Keyword
-- | Uni operator to create Parend words.
paren :: Keyword -> Keyword
-- | Define uni operator of string from Keyword uni operator.
strUniOp :: (Keyword -> Keyword) -> String -> String
-- | SQL keyword representation using Haskell data constructors.
module Language.SQL.Keyword.Type
-- | Type represent SQL keywords.
data Keyword
SELECT :: Keyword
ALL :: Keyword
DISTINCT :: Keyword
ON :: Keyword
GROUP :: Keyword
COUNT :: Keyword
SUM :: Keyword
AVG :: Keyword
MAX :: Keyword
MIN :: Keyword
EVERY :: Keyword
ANY :: Keyword
SOME :: Keyword
CUBE :: Keyword
ROLLUP :: Keyword
GROUPING :: Keyword
SETS :: Keyword
HAVING :: Keyword
FOR :: Keyword
ORDER :: Keyword
BY :: Keyword
ASC :: Keyword
DESC :: Keyword
NULLS :: Keyword
LAST :: Keyword
OFFSET :: Keyword
LIMIT :: Keyword
FETCH :: Keyword
FIRST :: Keyword
NEXT :: Keyword
PERCENT :: Keyword
ROW :: Keyword
ROWS :: Keyword
ONLY :: Keyword
TIES :: Keyword
UNION :: Keyword
EXCEPT :: Keyword
INTERSECT :: Keyword
DELETE :: Keyword
USING :: Keyword
RETURNING :: Keyword
FROM :: Keyword
AS :: Keyword
WITH :: Keyword
JOIN :: Keyword
INNER :: Keyword
LEFT :: Keyword
RIGHT :: Keyword
FULL :: Keyword
NATURAL :: Keyword
OUTER :: Keyword
UPDATE :: Keyword
SET :: Keyword
DEFAULT :: Keyword
WHERE :: Keyword
INSERT :: Keyword
INTO :: Keyword
VALUES :: Keyword
MERGE :: Keyword
OVER :: Keyword
PARTITION :: Keyword
DENSE_RANK :: Keyword
RANK :: Keyword
ROW_NUMBER :: Keyword
PERCENT_RANK :: Keyword
CUME_DIST :: Keyword
LAG :: Keyword
LEAD :: Keyword
FIRST_VALUE :: Keyword
LAST_VALUE :: Keyword
CASE :: Keyword
END :: Keyword
WHEN :: Keyword
ELSE :: Keyword
THEN :: Keyword
LIKE :: Keyword
SIMILAR :: Keyword
AND :: Keyword
OR :: Keyword
NOT :: Keyword
EXISTS :: Keyword
IS :: Keyword
NULL :: Keyword
IN :: Keyword
DATE :: Keyword
TIME :: Keyword
TIMESTAMP :: Keyword
TIMESTAMPTZ :: Keyword
INTERVAL :: Keyword
Sequence :: !DString -> Keyword
-- | Diff String type for low-cost concatination.
data DString
-- | Make Keyword from String
word :: String -> Keyword
-- | Show Keyword
wordShow :: Keyword -> String
-- | Concatinate keywords into String like unwords
unwordsSQL :: [Keyword] -> String
-- | SQL keyword representation using Haskell data constructors. Integrated
-- module.
module Language.SQL.Keyword