adjust makeSelect helper to be new type, lib and tests now compile without any warnings
This commit is contained in:
parent
a3d1ba7e5c
commit
858c7723b0
14 changed files with 274 additions and 243 deletions
|
@ -231,11 +231,10 @@ import Data.Maybe (catMaybes, isJust)
|
|||
import Data.Text (Text)
|
||||
import qualified Data.Text as T
|
||||
|
||||
import Language.SQL.SimpleSQL.Syntax
|
||||
import Language.SQL.SimpleSQL.Syntax
|
||||
import Language.SQL.SimpleSQL.Dialect
|
||||
import qualified Language.SQL.SimpleSQL.Lex as L
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
-- = Public API
|
||||
|
@ -1522,7 +1521,7 @@ queryExpr = E.makeExprParser qeterm qeOpTable
|
|||
<*> selectList
|
||||
<*> (optional tableExpression) <?> "table expression"
|
||||
mkSelect d sl Nothing =
|
||||
makeSelect{qeSetQuantifier = d, qeSelectList = sl}
|
||||
toQueryExpr $ makeSelect {msSetQuantifier = d, msSelectList = sl}
|
||||
mkSelect d sl (Just (TableExpression f w g h od ofs fe)) =
|
||||
Select d sl f w g h od ofs fe
|
||||
values = keyword_ "values"
|
||||
|
|
|
@ -23,7 +23,6 @@ module Language.SQL.SimpleSQL.Syntax
|
|||
,OdbcLiteralType(..)
|
||||
-- * Query expressions
|
||||
,QueryExpr(..)
|
||||
,makeSelect
|
||||
,SetOperatorName(..)
|
||||
,Corresponding(..)
|
||||
,Alias(..)
|
||||
|
@ -60,6 +59,10 @@ module Language.SQL.SimpleSQL.Syntax
|
|||
,GrantOptionFor(..)
|
||||
-- * Comment
|
||||
,Comment(..)
|
||||
|
||||
,makeSelect
|
||||
,toQueryExpr
|
||||
,MakeSelect(..)
|
||||
) where
|
||||
|
||||
import Data.Text (Text)
|
||||
|
@ -377,31 +380,6 @@ TODO: add queryexpr parens to deal with e.g.
|
|||
I'm not sure if this is valid syntax or not.
|
||||
-}
|
||||
|
||||
-- | Helper/'default' value for query exprs to make creating query
|
||||
-- expr values a little easier. It is defined like this:
|
||||
--
|
||||
-- > makeSelect :: QueryExpr
|
||||
-- > makeSelect = Select {qeSetQuantifier = SQDefault
|
||||
-- > ,qeSelectList = []
|
||||
-- > ,qeFrom = []
|
||||
-- > ,qeWhere = Nothing
|
||||
-- > ,qeGroupBy = []
|
||||
-- > ,qeHaving = Nothing
|
||||
-- > ,qeOrderBy = []
|
||||
-- > ,qeOffset = Nothing
|
||||
-- > ,qeFetchFirst = Nothing}
|
||||
|
||||
makeSelect :: QueryExpr
|
||||
makeSelect = Select {qeSetQuantifier = SQDefault
|
||||
,qeSelectList = []
|
||||
,qeFrom = []
|
||||
,qeWhere = Nothing
|
||||
,qeGroupBy = []
|
||||
,qeHaving = Nothing
|
||||
,qeOrderBy = []
|
||||
,qeOffset = Nothing
|
||||
,qeFetchFirst = Nothing}
|
||||
|
||||
-- | Represents the Distinct or All keywords, which can be used
|
||||
-- before a select list, in an aggregate/window function
|
||||
-- application, or in a query expression set operator.
|
||||
|
@ -744,3 +722,50 @@ data PrivilegeAction =
|
|||
newtype Comment = BlockComment Text
|
||||
deriving (Eq,Show,Read,Data,Typeable)
|
||||
|
||||
data MakeSelect
|
||||
= MakeSelect
|
||||
{msSetQuantifier :: SetQuantifier
|
||||
,msSelectList :: [(ScalarExpr,Maybe Name)]
|
||||
,msFrom :: [TableRef]
|
||||
,msWhere :: Maybe ScalarExpr
|
||||
,msGroupBy :: [GroupingExpr]
|
||||
,msHaving :: Maybe ScalarExpr
|
||||
,msOrderBy :: [SortSpec]
|
||||
,msOffset :: Maybe ScalarExpr
|
||||
,msFetchFirst :: Maybe ScalarExpr
|
||||
}
|
||||
|
||||
-- | Helper/'default' value for query exprs to make creating query
|
||||
-- expr values a little easier. It is defined like this:
|
||||
--
|
||||
-- > makeSelect :: MakeSelect
|
||||
-- > makeSelect
|
||||
-- > = MakeSelect
|
||||
-- > {msSetQuantifier = SQDefault
|
||||
-- > ,msSelectList = []
|
||||
-- > ,msFrom = []
|
||||
-- > ,msWhere = Nothing
|
||||
-- > ,msGroupBy = []
|
||||
-- > ,msHaving = Nothing
|
||||
-- > ,msOrderBy = []
|
||||
-- > ,msOffset = Nothing
|
||||
-- > ,msFetchFirst = Nothing}
|
||||
-- >
|
||||
-- > Example, to create a select query expression with a select list 'sl':
|
||||
-- > toQueryExpr $ makeSelect {msSelectList = sl}
|
||||
|
||||
makeSelect :: MakeSelect
|
||||
makeSelect
|
||||
= MakeSelect
|
||||
{msSetQuantifier = SQDefault
|
||||
,msSelectList = []
|
||||
,msFrom = []
|
||||
,msWhere = Nothing
|
||||
,msGroupBy = []
|
||||
,msHaving = Nothing
|
||||
,msOrderBy = []
|
||||
,msOffset = Nothing
|
||||
,msFetchFirst = Nothing}
|
||||
|
||||
toQueryExpr :: MakeSelect -> QueryExpr
|
||||
toQueryExpr (MakeSelect q sl f w g h o ff fetch) = Select q sl f w g h o ff fetch
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue