Some tests for parsing full queries. > module Language.SQL.SimpleSQL.FullQueries (fullQueriesTests) where > import Language.SQL.SimpleSQL.TestTypes > import Language.SQL.SimpleSQL.Syntax > fullQueriesTests :: TestItem > fullQueriesTests = Group "queries" $ map (uncurry (TestQueryExpr ansi2011)) > [("select count(*) from t" > ,makeSelect > {qeSelectList = [(App [Name Nothing "count"] [Star], Nothing)] > ,qeFrom = [TRSimple [Name Nothing "t"]] > } > ) > ,("select a, sum(c+d) as s\n\ > \ from t,u\n\ > \ where a > 5\n\ > \ group by a\n\ > \ having count(1) > 5\n\ > \ order by s" > ,makeSelect > {qeSelectList = [(Iden [Name Nothing "a"], Nothing) > ,(App [Name Nothing "sum"] > [BinOp (Iden [Name Nothing "c"]) > [Name Nothing "+"] (Iden [Name Nothing "d"])] > ,Just $ Name Nothing "s")] > ,qeFrom = [TRSimple [Name Nothing "t"], TRSimple [Name Nothing "u"]] > ,qeWhere = Just $ BinOp (Iden [Name Nothing "a"]) [Name Nothing ">"] (NumLit "5") > ,qeGroupBy = [SimpleGroup $ Iden [Name Nothing "a"]] > ,qeHaving = Just $ BinOp (App [Name Nothing "count"] [NumLit "1"]) > [Name Nothing ">"] (NumLit "5") > ,qeOrderBy = [SortSpec (Iden [Name Nothing "s"]) DirDefault NullsOrderDefault] > } > ) > ]