packages feed

hssqlppp-0.6.2: tests/Database/HsSqlPpp/Tests/Parsing/TableRefs.lhs

> {-# LANGUAGE QuasiQuotes,OverloadedStrings #-}
>
> module Database.HsSqlPpp.Tests.Parsing.TableRefs (tableRefs) where
>
> --import Database.HsSqlPpp.Utils.Here
>
> import Database.HsSqlPpp.Syntax

> import Database.HsSqlPpp.Tests.Parsing.Utils
> import Database.HsSqlPpp.Tests.TestTypes

> tableRefs :: Item
> tableRefs =
>    Group "tableRefs"
>    [q "select a from tbl" stbl
>    ,q "select a from sc.tbl"
>     stbl {selTref = [qtref "sc" "tbl"]}
>    ,q "select a from tbl a"
>     stbl {selTref = [trefa "tbl" "a"]}
>    ,q "select a from tbl as a"
>     stbl {selTref = [trefa "tbl" "a"]}

>    ,q "select a from tbl as a(b,c)"
>     stbl {selTref = [treffa "tbl" "a" ["b","c"]]}

>    ,q "select a from gen();"
>     stbl {selTref = [FunTref ea (app "gen" [])]}
>    ,q "select a from gen() t;"
>     stbl {selTref = [ta $ FunTref ea (app "gen" [])]}
>    ,q "select a from gen() as t;"
>     stbl {selTref = [ta $ FunTref ea (app "gen" [])]}

>    ,q "select a from (select a from tbl) as t;"
>     stbl {selTref = [ta $ SubTref ea stbl]}

>    ,q "select a from (select a from tbl) t;"
>     stbl {selTref = [ta $ SubTref ea stbl]}

>    ]
>    where
>      ta = TableAlias ea (Nmc "t")
>      stbl = makeSelect
>             {selSelectList = sl [si $ ei "a"]
>             ,selTref = [tref "tbl"]}
>      q = ParseQueryExpr defaultParseFlags