[[case]]
id = "cte_single"
data = "international_sales.csv"
sql = "WITH x AS (SELECT region, amount FROM international_sales) SELECT region, amount FROM x"
[[case]]
id = "cte_multiple"
data = "international_sales.csv"
sql = "WITH a AS (SELECT region, SUM(amount) AS total FROM international_sales GROUP BY region), b AS (SELECT region FROM a WHERE total > 5000) SELECT region FROM b"
[[case]]
id = "cte_referencing_cte"
data = "international_sales.csv"
sql = "WITH base AS (SELECT region, amount FROM international_sales), agg AS (SELECT region, SUM(amount) AS total FROM base GROUP BY region) SELECT region, total FROM agg"
[[case]]
id = "union"
data = "trades.csv"
sql = "SELECT symbol FROM trades WHERE price > 186 UNION SELECT symbol FROM trades WHERE price < 184"
[[case]]
id = "union_all"
data = "international_sales.csv"
sql = "SELECT region FROM international_sales WHERE amount > 2000 UNION ALL SELECT region FROM international_sales WHERE amount < 100"
[[case]]
id = "intersect"
data = "international_sales.csv"
sql = "SELECT region FROM international_sales WHERE amount > 2000 INTERSECT SELECT region FROM international_sales WHERE amount < 1000"
expect = "GAP"
[[case]]
id = "except"
data = "international_sales.csv"
sql = "SELECT region FROM international_sales EXCEPT SELECT region FROM international_sales WHERE amount > 2000"
expect = "GAP"
[[case]]
id = "recursive_cte"
data = "trades.csv"
sql = "WITH RECURSIVE n(i) AS (SELECT 1 UNION ALL SELECT i + 1 FROM n WHERE i < 5) SELECT i FROM n"
expect = "GAP"