Tests for oracle syntax variations

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

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

> oracle :: Item
> oracle =
>   Group "parse oracle"
>   [ora "select unique a from t;"
>       [qs $ makeSelect
>        {selSelectList = sl [si $ ei "a"]
>        ,selDistinct = Distinct
>        ,selTref = [tref "t"]}]
>   ,ora "select count(unique a) from t;"
>       [qs $ makeSelect
>        {selSelectList =
>            sl [si $ AggregateApp ea Distinct (app "count" [ei "a"]) []]
>        ,selTref = [tref "t"]}]

TODO: can't turn this into a regular outer join until type checking
since we need to know where the fields come from, so add a new scalar
expression syntax which represents a (+) suffix.

>   {-,ora "select a,b from t,u where a=b(+);"
>    [qs $ makeSelect
>        {selSelectList = sl [sia (eqi "r" "dn") $ QNmc "rg"]
>        ,selTref = [tref "tbl"]}]
>   ,ora "select a,b from t,u where a(+)=b;"
>    [qs $ makeSelect
>        {selSelectList = sl [sia (eqi "r" "dn") $ QNmc "rg"]
>        ,selTref = [tref "tbl"]}]-}
>   ]
>   where
>     qs = QueryStatement ea
>     ora = ParseStmts defaultParseFlags {pfDialect=oracleDialect}