From a3bb306af576834d93394d4ac636c5b52b6d745a Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sat, 16 Jul 2016 18:39:18 -0700 Subject: [PATCH 1/8] [SPARK-16590][SQL] Improve LogicalPlanToSQLSuite to check generated SQL directly --- .../sql/catalyst/LogicalPlanToSQLSuite.scala | 1429 ++++++++++++++++- 1 file changed, 1361 insertions(+), 68 deletions(-) diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index 0827b04252bc4..5ac188727e822 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -76,7 +76,22 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } - private def checkHiveQl(hiveQl: String): Unit = { + /** + * Compare the generated SQL with the expected answer string. + * Note that there exists a normalization for both arguments for the convenience. + * - Remove the id from the generated attributes, e.g., `gen_attr_1` -> `gen_attr`. + * - Multiple spaces are replaced into a single space. + * - New line characters are replaced into space. + * - Trim the left and right finally. + */ + private def checkSQLStructure(convertedSQL: String, expectedString: String): Unit = { + val normalizedGenSQL = convertedSQL + .replaceAll("`gen_attr_\\d+`", "`gen_attr`") + .replaceAll(" ", " ") + assert(normalizedGenSQL == expectedString.replaceAll("[ \n]+", " ").trim()) + } + + private def checkHiveQl(hiveQl: String, expectedString: String = null): Unit = { val df = sql(hiveQl) val convertedSQL = try new SQLBuilder(df).toSQL catch { @@ -92,6 +107,8 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, e) } + if (expectedString != null) checkSQLStructure(convertedSQL, expectedString) + try { checkAnswer(sql(convertedSQL), df) } catch { case cause: Throwable => @@ -111,23 +128,74 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("in") { - checkHiveQl("SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3)") + checkHiveQl("SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3)", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0 + | WHERE (CAST(`gen_attr` AS BIGINT) + | IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT)))) + | AS parquet_t0 + """.stripMargin) } test("not in") { - checkHiveQl("SELECT id FROM t0 WHERE id NOT IN (1, 2, 3)") + checkHiveQl("SELECT id FROM t0 WHERE id NOT IN (1, 2, 3)", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 + | WHERE (NOT (CAST(`gen_attr` AS BIGINT) + | IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT))))) + | AS t0 + """.stripMargin) } test("not like") { - checkHiveQl("SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%'") + checkHiveQl("SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%'", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_0 + | WHERE (NOT CAST((`gen_attr` + CAST(5 AS BIGINT)) AS STRING) LIKE "1%")) + | AS t0 + """.stripMargin) } test("aggregate function in having clause") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0") + checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0", + """ + |SELECT `gen_attr` AS `count(value)` + |FROM (SELECT `gen_attr` + | FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr` + | HAVING (`gen_attr` > CAST(0 AS BIGINT))) + | AS gen_subquery_1) + | AS gen_subquery_2 + """.stripMargin) } test("aggregate function in order by clause") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key)") + checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key)", + """ + |SELECT `gen_attr` AS `count(value)` + |FROM (SELECT `gen_attr` + | FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr` + | ORDER BY `gen_attr` ASC) + | AS gen_subquery_1) + | AS gen_subquery_2 + """.stripMargin) } // When there are multiple aggregate functions in ORDER BY clause, all of them are extracted into @@ -135,15 +203,54 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // execution since these aliases have different expression ID. But this introduces name collision // when converting resolved plans back to SQL query strings as expression IDs are stripped. test("aggregate function in order by clause with multiple order keys") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key)") + checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key)", + """ + |SELECT `gen_attr` AS `count(value)` + |FROM (SELECT `gen_attr` + | FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, + | max(`gen_attr`) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr` + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1) + | AS gen_subquery_2 + """.stripMargin) } test("type widening in union") { - checkHiveQl("SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0") + checkHiveQl("SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0", + """ + |SELECT `gen_attr` AS `id` + |FROM ((SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | UNION ALL + | (SELECT CAST(CAST(`gen_attr` AS INT) AS BIGINT) AS `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_1)) + | AS parquet_t0 + """.stripMargin) } test("union distinct") { - checkHiveQl("SELECT * FROM t0 UNION SELECT * FROM t0") + checkHiveQl("SELECT * FROM t0 UNION SELECT * FROM t0", + """ + |SELECT `gen_attr` AS `id` + |FROM ((SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_0) + | UNION DISTINCT + | (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_1)) + | AS t0 + """.stripMargin) } test("three-child union") { @@ -152,44 +259,169 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT id FROM parquet_t0 |UNION ALL SELECT id FROM parquet_t0 |UNION ALL SELECT id FROM parquet_t0 + """.stripMargin, + """ + |SELECT `gen_attr` AS `id` + |FROM ((SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | UNION ALL + | (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_1) + | UNION ALL + | (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_2)) + | AS parquet_t0 """.stripMargin) } test("intersect") { - checkHiveQl("SELECT * FROM t0 INTERSECT SELECT * FROM t0") + checkHiveQl("SELECT * FROM t0 INTERSECT SELECT * FROM t0", + """ + |SELECT `gen_attr` AS `id` + |FROM ((SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_0 ) + | INTERSECT + | ( SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_1)) + | AS t0 + """.stripMargin) } test("except") { - checkHiveQl("SELECT * FROM t0 EXCEPT SELECT * FROM t0") + checkHiveQl("SELECT * FROM t0 EXCEPT SELECT * FROM t0", + """ + |SELECT `gen_attr` AS `id` + |FROM ((SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_0 ) + | EXCEPT ( SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_1)) + | AS t0 + """.stripMargin) } test("self join") { - checkHiveQl("SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key") + checkHiveQl("SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key", + """ + |SELECT `gen_attr` AS `key` + |FROM (SELECT `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_1 + | ON (`gen_attr` = `gen_attr`)) + | AS x + """.stripMargin) } test("self join with group by") { checkHiveQl( - "SELECT x.key, COUNT(*) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key group by x.key") + "SELECT x.key, COUNT(*) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key group by x.key", + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `count(1)` + |FROM (SELECT `gen_attr`, count(1) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_1 + | ON (`gen_attr` = `gen_attr`) + | GROUP BY `gen_attr`) + | AS x + """.stripMargin) } test("case") { - checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0") + // scalastyle:off line.size.limit + checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0", + """ + |SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((id % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END` + |FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 + | WHEN ((`gen_attr` % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 + | END AS `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) + // scalastyle:on line.size.limit } test("case with else") { - checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0") + checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0", + """ + |SELECT `gen_attr` + | AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END` + |FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 + | ELSE 1 + | END AS `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) } test("case with key") { - checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0") + // scalastyle:off line.size.limit + checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0", + """ + |SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar END` + |FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" + | WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" + | END AS `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) + // scalastyle:on line.size.limit } test("case with key and else") { - checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0") + // scalastyle:off line.size.limit + checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0", + """ + |SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar ELSE baz END` + |FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" + | WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" + | ELSE "baz" + | END AS `gen_attr` + | FROM + | (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) + // scalastyle:on line.size.limit } test("select distinct without aggregate functions") { - checkHiveQl("SELECT DISTINCT id FROM parquet_t0") + checkHiveQl("SELECT DISTINCT id FROM parquet_t0", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT DISTINCT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | AS parquet_t0 + """.stripMargin) } test("rollup/cube #1") { @@ -214,21 +446,92 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // GROUP BY (`t1`.`key` % CAST(5 AS BIGINT)) // GROUPING SETS (((`t1`.`key` % CAST(5 AS BIGINT))), ()) checkHiveQl( - "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH ROLLUP") + "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH ROLLUP", + """ + |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, + | `gen_attr` AS `grouping_id()` + |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | grouping_id() AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) + | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) + | AS gen_subquery_1 + """.stripMargin) + checkHiveQl( - "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH CUBE") + "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH CUBE", + """ + |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, + | `gen_attr` AS `grouping_id()` + |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | grouping_id() AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) + | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) + | AS gen_subquery_1 + """.stripMargin) } test("rollup/cube #2") { - checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP") - checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE") + checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP", + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | count(`gen_attr`) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE", + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | count(`gen_attr`) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) + | AS gen_subquery_1 + """.stripMargin) } test("rollup/cube #3") { checkHiveQl( - "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH ROLLUP") + "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH ROLLUP", + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` + |FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, + | grouping_id() AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) + | AS gen_subquery_1 + """.stripMargin) + checkHiveQl( - "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH CUBE") + "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH CUBE", + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` + |FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, + | grouping_id() AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) + | AS gen_subquery_1 + """.stripMargin) } test("rollup/cube #4") { @@ -236,11 +539,39 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { s""" |SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 |GROUP BY key % 5, key - 5 WITH ROLLUP + """.stripMargin, + """ + |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, + | `gen_attr` AS `grouping_id()` + |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), + | ((`gen_attr` % CAST(5 AS BIGINT))), ())) + | AS gen_subquery_1 """.stripMargin) + checkHiveQl( s""" |SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 |GROUP BY key % 5, key - 5 WITH CUBE + """.stripMargin, + """ + |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, + | `gen_attr` AS `grouping_id()` + |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), + | ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), + | ())) + | AS gen_subquery_1 """.stripMargin) } @@ -250,28 +581,166 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 |FROM (SELECT key, key%2, key - 5 FROM parquet_t1) t GROUP BY key%5, key-5 |WITH ROLLUP + """.stripMargin, + """ + |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` + |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` + | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS t + | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), + | ((`gen_attr` % CAST(5 AS BIGINT))), ())) + | AS gen_subquery_1 """.stripMargin) + checkHiveQl( s""" |SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 |FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 |WITH CUBE + """.stripMargin, + """ + |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` + |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` + | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS t + | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), + | ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), + | ())) + | AS gen_subquery_1 """.stripMargin) } test("rollup/cube #6") { - checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b") - checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b") - checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b") - checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b") - checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP") + checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP", + """ + |SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` + |FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum((`gen_attr` - `gen_attr`)) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` + | GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), + | ((`gen_attr` + `gen_attr`)), ())) + | AS gen_subquery_1 + """.stripMargin) checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE") } test("rollup/cube #7") { - checkHiveQl("SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b)") - checkHiveQl("SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b)") - checkHiveQl("SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b)") + checkHiveQl("SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b)", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping_id(a, b)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | grouping_id() AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b)", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(b)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | grouping(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b)", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(a)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | grouping(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) + | AS gen_subquery_1 + """.stripMargin) } test("rollup/cube #8") { @@ -281,12 +750,40 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid |FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 |WITH ROLLUP + """.stripMargin, + """ + |SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` + |FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, + | hash(grouping_id()) AS `gen_attr` + | FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS t + | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) + | AS gen_subquery_1 """.stripMargin) + checkHiveQl( s""" |SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid |FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 |WITH CUBE + """.stripMargin, + """ + |SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` + |FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, + | hash(grouping_id()) AS `gen_attr` + | FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS t + | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), + | ((`gen_attr` - CAST(5 AS BIGINT))), ())) + | AS gen_subquery_1 """.stripMargin) } @@ -299,7 +796,27 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t |GROUP BY cnt, t.key - 5 |WITH ROLLUP + """.stripMargin, + """ + |SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, + | `gen_attr` AS `sum(cnt)` + |FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `gen_attr`, count(1) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_1 + | ON (`gen_attr` = `gen_attr`) + | GROUP BY `gen_attr`) + | AS t + | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) + | AS gen_subquery_2 """.stripMargin) + checkHiveQl( s""" |SELECT t.key - 5, cnt, SUM(cnt) @@ -307,6 +824,26 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t |GROUP BY cnt, t.key - 5 |WITH CUBE + """.stripMargin, + """ + |SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, + | `gen_attr` AS `sum(cnt)` + |FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `gen_attr`, count(1) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_1 + | ON (`gen_attr` = `gen_attr`) + | GROUP BY `gen_attr`) + | AS t + | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), + | ((`gen_attr` - CAST(5 AS BIGINT))), ())) + | AS gen_subquery_2 """.stripMargin) } @@ -316,43 +853,178 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id() AS k3 |FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 |GROUPING SETS (key % 5, key - 5) + """.stripMargin, + """ + |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` + |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` + | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS t + | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) + | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), + | ((`gen_attr` - CAST(5 AS BIGINT))))) + | AS gen_subquery_1 """.stripMargin) } test("grouping sets #2") { checkHiveQl( - "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a, b) ORDER BY a, b") + "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a, b) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`), (`gen_attr`)) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 + """.stripMargin) + checkHiveQl( - "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a) ORDER BY a, b") + "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`)) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 + """.stripMargin) + checkHiveQl( - "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (b) ORDER BY a, b") + "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (b) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((`gen_attr`)) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 + """.stripMargin) + checkHiveQl( - "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (()) ORDER BY a, b") + "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (()) ORDER BY a, b", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS(()) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 + """.stripMargin) + checkHiveQl( s""" |SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b |GROUPING SETS ((), (a), (a, b)) ORDER BY a, b + """.stripMargin, + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` + |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, + | sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | GROUPING SETS((), (`gen_attr`), (`gen_attr`, `gen_attr`)) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC) + | AS gen_subquery_1 """.stripMargin) } test("cluster by") { - checkHiveQl("SELECT id FROM parquet_t0 CLUSTER BY id") + checkHiveQl("SELECT id FROM parquet_t0 CLUSTER BY id", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0 + | CLUSTER BY `gen_attr`) + | AS parquet_t0 + """.stripMargin) } test("distribute by") { - checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id") + checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0 + | DISTRIBUTE BY `gen_attr`) + | AS parquet_t0 + """.stripMargin) } test("distribute by with sort by") { - checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id") + checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0 + | CLUSTER BY `gen_attr`) + | AS parquet_t0 + """.stripMargin) } test("SPARK-13720: sort by after having") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key") + checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key", + """ + |SELECT `gen_attr` AS `count(value)` + |FROM (SELECT `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr`, + | `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr` + | HAVING (`gen_attr` > CAST(0 AS BIGINT))) + | AS gen_subquery_1 + | SORT BY `gen_attr` ASC) + | AS gen_subquery_2) + | AS gen_subquery_3 + """.stripMargin) } test("distinct aggregation") { - checkHiveQl("SELECT COUNT(DISTINCT id) FROM parquet_t0") + checkHiveQl("SELECT COUNT(DISTINCT id) FROM parquet_t0", + """ + |SELECT `gen_attr` AS `count(DISTINCT id)` + |FROM (SELECT count(DISTINCT `gen_attr`) AS `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) } test("TABLESAMPLE") { @@ -361,33 +1033,102 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // +- Subquery s // +- Subquery parquet_t0 // +- Relation[id#2L] ParquetRelation - checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s") + checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0` + | TABLESAMPLE(100.0 PERCENT)) + | AS gen_subquery_0) + | AS s + """.stripMargin) // Project [id#2L] // +- Sample 0.0, 1.0, false, ... // +- Subquery parquet_t0 // +- Relation[id#2L] ParquetRelation - checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT)") + checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT)", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0` + | TABLESAMPLE(100.0 PERCENT)) + | AS gen_subquery_0) + | AS parquet_t0 + """.stripMargin) // Project [id#21L] // +- Sample 0.0, 1.0, false, ... // +- MetastoreRelation default, t0, Some(s) - checkHiveQl("SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s") + checkHiveQl("SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0` + | TABLESAMPLE(100.0 PERCENT)) + | AS gen_subquery_0) + | AS s + """.stripMargin) // Project [id#24L] // +- Sample 0.0, 1.0, false, ... // +- MetastoreRelation default, t0, None - checkHiveQl("SELECT * FROM t0 TABLESAMPLE(100 PERCENT)") + checkHiveQl("SELECT * FROM t0 TABLESAMPLE(100 PERCENT)", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0` + | TABLESAMPLE(100.0 PERCENT)) + | AS gen_subquery_0) + | AS t0 + """.stripMargin) // When a sampling fraction is not 100%, the returned results are random. // Thus, added an always-false filter here to check if the generated plan can be successfully // executed. - checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0") - checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0") + checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0` + | TABLESAMPLE(0.1 PERCENT)) + | AS gen_subquery_0 + | WHERE (1 = 0)) + | AS s + """.stripMargin) + + checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0", + """ + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`parquet_t0` + | TABLESAMPLE(0.1 PERCENT)) + | AS gen_subquery_0 + | WHERE (1 = 0)) + | AS parquet_t0 + """.stripMargin) } test("multi-distinct columns") { - checkHiveQl("SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a") + checkHiveQl("SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a", + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `count(DISTINCT b)`, + | `gen_attr` AS `count(DISTINCT c)`, `gen_attr` AS `sum(d)` + |FROM (SELECT `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, + | count(DISTINCT `gen_attr`) AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`) + | AS parquet_t2 + """.stripMargin) } test("persisted data source relations") { @@ -395,26 +1136,91 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { val tableName = s"${format}_parquet_t0" withTable(tableName) { spark.range(10).write.format(format).saveAsTable(tableName) - checkHiveQl(s"SELECT id FROM $tableName") + checkHiveQl(s"SELECT id FROM $tableName", + s""" + |SELECT `gen_attr` AS `id` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`$tableName`) + | AS gen_subquery_0) + | AS $tableName + """.stripMargin) } } } test("script transformation - schemaless") { - checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2") - checkHiveQl("SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2") + checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2", + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value` + |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) + | USING 'cat' + | AS (`gen_attr` string, `gen_attr` string) + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2", + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value` + |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) + | USING 'cat' + | AS (`gen_attr` string, `gen_attr` string) + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) } test("script transformation - alias list") { - checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2") + // scalastyle:off + checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2", + """ + |SELECT `gen_attr` AS `d1`, `gen_attr` AS `d2`, `gen_attr` AS `d3`, `gen_attr` AS `d4` + |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | WITH SERDEPROPERTIES('field.delim' = ' ') + | USING 'cat' AS (`gen_attr` string, `gen_attr` string, `gen_attr` string, + | `gen_attr` string) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | WITH SERDEPROPERTIES('field.delim' = ' ') + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0) + | AS gen_subquery_1 + """.stripMargin) + // scalastyle:on } test("script transformation - alias list with type") { + // scalastyle:off checkHiveQl( """FROM |(FROM parquet_t1 SELECT TRANSFORM(key, value) USING 'cat' AS (thing1 int, thing2 string)) t |SELECT thing1 + 1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `(thing1 + 1)` + |FROM (SELECT (`gen_attr` + 1) AS `gen_attr` + | FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | WITH SERDEPROPERTIES('field.delim' = ' ') + | USING 'cat' AS (`gen_attr` int, `gen_attr` string) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | WITH SERDEPROPERTIES('field.delim' = ' ') + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS t) + | AS gen_subquery_1 """.stripMargin) + // scalastyle:on } test("script transformation - row format delimited clause with only one format property") { @@ -422,6 +1228,17 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """SELECT TRANSFORM (key) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' |USING 'cat' AS (tKey) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' |FROM parquet_t1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `tKey` + |FROM (SELECT TRANSFORM (`gen_attr`) + | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' + | USING 'cat' AS (`gen_attr` string) + | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1 """.stripMargin) } @@ -432,6 +1249,17 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |USING 'cat' AS (tKey) |ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' |FROM parquet_t1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `tKey` + |FROM (SELECT TRANSFORM (`gen_attr`) + | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' + | USING 'cat' AS (`gen_attr` string) + | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1 """.stripMargin) } @@ -444,6 +1272,19 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' |WITH SERDEPROPERTIES('field.delim' = '|') |FROM parquet_t1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` + |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | WITH SERDEPROPERTIES('field.delim' = '|') + | USING 'cat' AS (`gen_attr` string, `gen_attr` string) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | WITH SERDEPROPERTIES('field.delim' = '|') + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1 """.stripMargin) } @@ -454,6 +1295,17 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |USING 'cat' AS (tKey, tValue) |ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' |FROM parquet_t1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` + |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | USING 'cat' AS (`gen_attr` string, `gen_attr` string) + | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1 """.stripMargin) } @@ -521,17 +1373,70 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window basic") { - checkHiveQl("SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1") + // scalastyle:off line.size.limit + checkHiveQl("SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1", + """ + |SELECT `gen_attr` AS `max(value) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)` + |FROM (SELECT `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | max(`gen_attr`) + | OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND + | UNBOUNDED FOLLOWING) + | AS `gen_attr` + | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS gen_subquery_3 + """.stripMargin) + checkHiveQl( """ |SELECT key, value, ROUND(AVG(key) OVER (), 2) |FROM parquet_t1 ORDER BY key + """.stripMargin, + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `round(avg(key) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), 2)` + |FROM (SELECT `gen_attr`, `gen_attr`, round(`gen_attr`, 2) AS `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | avg(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND + | UNBOUNDED FOLLOWING) AS `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1) + | AS gen_subquery_2 + | ORDER BY `gen_attr` ASC) + | AS parquet_t1 """.stripMargin) + checkHiveQl( """ |SELECT value, MAX(key + 1) OVER (PARTITION BY key % 5 ORDER BY key % 7) AS max |FROM parquet_t1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `value`, `gen_attr` AS `max` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` + | ASC RANGE BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr` + | FROM (SELECT `gen_attr`, (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, + | (`gen_attr` % CAST(7 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS parquet_t1 """.stripMargin) + // scalastyle:on line.size.limit } test("multiple window functions in one expression") { @@ -544,11 +1449,46 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("regular expressions and window functions in one expression") { - checkHiveQl("SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1") + // scalastyle:off line.size.limit + checkHiveQl("SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1", + """ + |SELECT `gen_attr` AS `(max(key) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) + key)` + |FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | max(`gen_attr`) OVER (PARTITION BY `gen_attr` + | ROWS BETWEEN UNBOUNDED PRECEDING AND + | UNBOUNDED FOLLOWING) AS `gen_attr` + | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS gen_subquery_3 + """.stripMargin) + // scalastyle:on line.size.limit } test("aggregate functions and window functions in one expression") { - checkHiveQl("SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b") + // scalastyle:off line.size.limit + checkHiveQl("SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b", + """ + |SELECT `gen_attr` AS `(max(c) + count(a) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))` + |FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | count(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND + | UNBOUNDED FOLLOWING) AS `gen_attr` + | FROM (SELECT max(`gen_attr`) AS `gen_attr`, `gen_attr` + | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, + | `d` AS `gen_attr` + | FROM `default`.`parquet_t2`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr`) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS gen_subquery_3 + """.stripMargin) + // scalastyle:on line.size.limit } test("window with different window specification") { @@ -558,6 +1498,27 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |DENSE_RANK() OVER (ORDER BY key, value) AS dr, |MAX(value) OVER (PARTITION BY key ORDER BY key ASC) AS max |FROM parquet_t1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `max` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, + | gen_subquery_2.`gen_attr`, + | DENSE_RANK() OVER ( ORDER BY `gen_attr` ASC, `gen_attr` ASC + | ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | max(`gen_attr`) OVER (PARTITION BY `gen_attr` + | ORDER BY `gen_attr` ASC + | RANGE BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS gen_subquery_3) + | AS parquet_t1 """.stripMargin) } @@ -567,6 +1528,25 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT key, value, |MAX(value) OVER (PARTITION BY key % 5 ORDER BY key DESC) AS max |FROM parquet_t1 GROUP BY key, value HAVING key > 5 + """.stripMargin, + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | gen_subquery_1.`gen_attr`, + | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` DESC + | RANGE BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr`, + | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr` + | HAVING (`gen_attr` > CAST(5 AS BIGINT))) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS parquet_t1 """.stripMargin) } @@ -576,6 +1556,24 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT key, value, |MAX(value) OVER (PARTITION BY key % 5 ORDER BY key) AS max |FROM parquet_t1 GROUP BY key, value + """.stripMargin, + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | gen_subquery_1.`gen_attr`, + | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC + | RANGE BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr`, + | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr`) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS parquet_t1 """.stripMargin) } @@ -586,6 +1584,25 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, |COUNT(key) |FROM parquet_t1 GROUP BY key, value + """.stripMargin, + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, + | `gen_attr` AS `count(key)` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | gen_subquery_1.`gen_attr`, + | DENSE_RANK() OVER (PARTITION BY `gen_attr` + | ORDER BY `gen_attr` ASC, `gen_attr` ASC + | ROWS BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr`, count(`gen_attr`) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | GROUP BY `gen_attr`, `gen_attr`) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS parquet_t1 """.stripMargin) } @@ -596,6 +1613,26 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, |COUNT(key) OVER(DISTRIBUTE BY key SORT BY key, value) AS ca |FROM parquet_t1 + """.stripMargin, + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `ca` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, + | DENSE_RANK() OVER (PARTITION BY `gen_attr` + | ORDER BY `gen_attr` ASC, `gen_attr` ASC + | ROWS BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr`, + | count(`gen_attr`) OVER (PARTITION BY `gen_attr` + | ORDER BY `gen_attr` ASC, `gen_attr` ASC + | RANGE BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) + | AS gen_subquery_1) + | AS gen_subquery_2) + | AS parquet_t1 """.stripMargin) } @@ -626,11 +1663,34 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window with join") { + // scalastyle:off line.size.limit checkHiveQl( """ |SELECT x.key, MAX(y.key) OVER (PARTITION BY x.key % 5 ORDER BY x.key) |FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key + """.stripMargin, + """ + |SELECT `gen_attr` AS `key`, `gen_attr` AS `max(key) OVER (PARTITION BY (key % CAST(5 AS BIGINT)) ORDER BY key ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, + | gen_subquery_2.`gen_attr`, + | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC + | RANGE BETWEEN UNBOUNDED PRECEDING AND + | CURRENT ROW) AS `gen_attr` + | FROM (SELECT `gen_attr`, `gen_attr`, + | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_1 + | ON (`gen_attr` = `gen_attr`)) + | AS gen_subquery_2) + | AS gen_subquery_3) + | AS x """.stripMargin) + // scalastyle:on line.size.limit } test("join 2 tables and aggregate function in having clause") { @@ -640,32 +1700,145 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t1 a, parquet_t1 b |GROUP BY a.KEY, b.KEY |HAVING MAX(a.KEY) > 0 + """.stripMargin, + """ + |SELECT `gen_attr` AS `count(value)`, `gen_attr` AS `KEY`, `gen_attr` AS `KEY` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr`, `gen_attr`, + | max(`gen_attr`) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0 + | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_1 + | GROUP BY `gen_attr`, `gen_attr` + | HAVING (`gen_attr` > CAST(0 AS BIGINT))) + | AS gen_subquery_2) + | AS gen_subquery_3 """.stripMargin) } test("generator in project list without FROM clause") { - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3))") - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val") + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3))", + """ + |SELECT `gen_attr` AS `col` + |FROM (SELECT `gen_attr` + | FROM (SELECT 1) gen_subquery_1 + | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_0 + """.stripMargin) + + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val", + """ + |SELECT `gen_attr` AS `val` + |FROM (SELECT `gen_attr` + | FROM (SELECT 1) gen_subquery_1 + | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_0 + """.stripMargin) } test("generator in project list with non-referenced table") { - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) FROM t0") - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0") + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) FROM t0", + """ + |SELECT `gen_attr` AS `col` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_0 + | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0", + """ + |SELECT `gen_attr` AS `val` + |FROM (SELECT `gen_attr` + | FROM (SELECT `id` AS `gen_attr` + | FROM `default`.`t0`) + | AS gen_subquery_0 + | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 + """.stripMargin) } test("generator in project list with referenced table") { - checkHiveQl("SELECT EXPLODE(arr) FROM parquet_t3") - checkHiveQl("SELECT EXPLODE(arr) AS val FROM parquet_t3") + checkHiveQl("SELECT EXPLODE(arr) FROM parquet_t3", + """ + |SELECT `gen_attr` AS `col` + |FROM (SELECT `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT EXPLODE(arr) AS val FROM parquet_t3", + """ + |SELECT `gen_attr` AS `val` + |FROM (SELECT `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 + """.stripMargin) } test("generator in project list with non-UDTF expressions") { - checkHiveQl("SELECT EXPLODE(arr), id FROM parquet_t3") - checkHiveQl("SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3") + checkHiveQl("SELECT EXPLODE(arr), id FROM parquet_t3", + """ + |SELECT `gen_attr` AS `col`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_1 AS `gen_attr`) + | AS parquet_t3 + """.stripMargin) + + checkHiveQl("SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3", + """ + |SELECT `gen_attr` AS `val`, `gen_attr` AS `a` + |FROM (SELECT `gen_attr`, `gen_attr` AS `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 + """.stripMargin) } test("generator in lateral view") { - checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val") - checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val") + checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val", + """ + |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 + """.stripMargin) + + checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val", + """ + |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 + """.stripMargin) } test("generator in lateral view with ambiguous names") { @@ -674,12 +1847,33 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT exp.id, parquet_t3.id |FROM parquet_t3 |LATERAL VIEW EXPLODE(arr) exp AS id + """.stripMargin, + """ + |SELECT `gen_attr` AS `id`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 """.stripMargin) + checkHiveQl( """ |SELECT exp.id, parquet_t3.id |FROM parquet_t3 |LATERAL VIEW OUTER EXPLODE(arr) exp AS id + """.stripMargin, + """ + |SELECT `gen_attr` AS `id`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) + | AS gen_subquery_1 """.stripMargin) } @@ -689,12 +1883,35 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT c0, c1, c2 |FROM parquet_t3 |LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt + """.stripMargin, + """ + |SELECT `gen_attr` AS `c0`, `gen_attr` AS `c1`, `gen_attr` AS `c2` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") + | gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) + | AS jt """.stripMargin) + checkHiveQl( """ |SELECT a, b, c |FROM parquet_t3 |LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt AS a, b, c + """.stripMargin, + """ + |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `c` + |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") + | gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) + | AS jt """.stripMargin) } @@ -705,6 +1922,17 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t3 |LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array |LATERAL VIEW EXPLODE(nested_array) exp1 AS val + """.stripMargin, + """ + |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` + | LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) + | AS gen_subquery_1 """.stripMargin) checkHiveQl( @@ -713,6 +1941,17 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t3 |LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array |LATERAL VIEW OUTER EXPLODE(nested_array) exp1 AS val + """.stripMargin, + """ + |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` + | LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) + | AS gen_subquery_1 """.stripMargin) } @@ -724,6 +1963,21 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |WHERE id > 2 |ORDER BY val, id |LIMIT 5 + """.stripMargin, + """ + |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, + | gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | WHERE (`gen_attr` > CAST(2 AS BIGINT))) + | AS gen_subquery_1 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` + | ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) + | AS parquet_t3 """.stripMargin) checkHiveQl( @@ -735,24 +1989,63 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |WHERE val > 2 |ORDER BY val, id |LIMIT 5 + """.stripMargin, + """ + |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, + | `id` AS `gen_attr` + | FROM `default`.`parquet_t3`) + | AS gen_subquery_0 + | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` + | LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr` + | WHERE (`gen_attr` > CAST(2 AS BIGINT)) + | ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) + | AS gen_subquery_1 """.stripMargin) } test("filter after subquery") { - checkHiveQl("SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5") + checkHiveQl("SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5", + """ + |SELECT `gen_attr` AS `a` + |FROM (SELECT `gen_attr` + | FROM (SELECT (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr` + | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` + | FROM `default`.`parquet_t1`) + | AS gen_subquery_0) AS t + | WHERE (`gen_attr` > CAST(5 AS BIGINT))) + | AS t + """.stripMargin) } test("SPARK-14933 - select parquet table") { withTable("parquet_t") { sql("create table parquet_t stored as parquet as select 1 as c1, 'abc' as c2") - checkHiveQl("select * from parquet_t") + checkHiveQl("select * from parquet_t", + """ + |SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` + | FROM `default`.`parquet_t`) + | AS gen_subquery_0) + | AS parquet_t + """.stripMargin) } } test("SPARK-14933 - select orc table") { withTable("orc_t") { sql("create table orc_t stored as orc as select 1 as c1, 'abc' as c2") - checkHiveQl("select * from orc_t") + checkHiveQl("select * from orc_t", + """ + |SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` + |FROM (SELECT `gen_attr`, `gen_attr` + | FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` + | FROM `default`.`orc_t`) + | AS gen_subquery_0) + | AS orc_t + """.stripMargin) } } } From 9f20a63d9be027bcb25e1eeecb28658976cdae98 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sat, 16 Jul 2016 21:49:21 -0700 Subject: [PATCH 2/8] Use answer files and support easy generation. --- sql/hive/src/test/resources/sqlgen/agg1.sql | 1 + sql/hive/src/test/resources/sqlgen/agg2.sql | 1 + sql/hive/src/test/resources/sqlgen/agg3.sql | 1 + .../sqlgen/aggregate_functions_and_window.sql | 1 + sql/hive/src/test/resources/sqlgen/case.sql | 1 + .../test/resources/sqlgen/case_with_else.sql | 1 + .../test/resources/sqlgen/case_with_key.sql | 1 + .../sqlgen/case_with_key_and_else.sql | 1 + .../src/test/resources/sqlgen/cluster_by.sql | 1 + .../sqlgen/data_source_json_parquet_t0.sql | 1 + .../sqlgen/data_source_orc_parquet_t0.sql | 1 + .../sqlgen/data_source_parquet_parquet_t0.sql | 1 + .../resources/sqlgen/distinct_aggregation.sql | 1 + .../test/resources/sqlgen/distribute_by.sql | 1 + .../sqlgen/distribute_by_with_sort_by.sql | 1 + sql/hive/src/test/resources/sqlgen/except.sql | 1 + .../sqlgen/filter_after_subquery.sql | 1 + .../sqlgen/generate_with_other_1.sql | 1 + .../sqlgen/generate_with_other_2.sql | 1 + .../sqlgen/generator_in_lateral_view_1.sql | 1 + .../sqlgen/generator_in_lateral_view_2.sql | 1 + .../generator_non_referenced_table_1.sql | 1 + .../generator_non_referenced_table_2.sql | 1 + .../resources/sqlgen/generator_non_udtf_1.sql | 1 + .../resources/sqlgen/generator_non_udtf_2.sql | 1 + .../sqlgen/generator_referenced_table_1.sql | 1 + .../sqlgen/generator_referenced_table_2.sql | 1 + .../generator_with_ambiguous_names_1.sql | 1 + .../generator_with_ambiguous_names_2.sql | 1 + .../sqlgen/generator_without_from_1.sql | 1 + .../sqlgen/generator_without_from_2.sql | 1 + .../test/resources/sqlgen/grouping_sets_1.sql | 1 + .../resources/sqlgen/grouping_sets_2_1.sql | 1 + .../resources/sqlgen/grouping_sets_2_2.sql | 1 + .../resources/sqlgen/grouping_sets_2_3.sql | 1 + .../resources/sqlgen/grouping_sets_2_4.sql | 1 + .../resources/sqlgen/grouping_sets_2_5.sql | 1 + sql/hive/src/test/resources/sqlgen/in.sql | 1 + .../src/test/resources/sqlgen/intersect.sql | 1 + .../test/resources/sqlgen/join_2_tables.sql | 1 + .../sqlgen/json_tuple_generator_1.sql | 1 + .../sqlgen/json_tuple_generator_2.sql | 1 + .../test/resources/sqlgen/multi_distinct.sql | 1 + .../nested_generator_in_lateral_view_1.sql | 1 + .../nested_generator_in_lateral_view_2.sql | 1 + sql/hive/src/test/resources/sqlgen/not_in.sql | 1 + .../src/test/resources/sqlgen/not_like.sql | 1 + .../sqlgen/regular_expressions_and_window.sql | 1 + .../test/resources/sqlgen/rollup_cube_1_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_1_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_2_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_2_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_3_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_3_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_4_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_4_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_5_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_5_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_3.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_4.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_5.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_6.sql | 1 + .../test/resources/sqlgen/rollup_cube_7_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_7_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_7_3.sql | 1 + .../test/resources/sqlgen/rollup_cube_8_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_8_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_9_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_9_2.sql | 1 + .../sqlgen/script_transformation_1.sql | 1 + .../sqlgen/script_transformation_2.sql | 1 + .../script_transformation_alias_list.sql | 1 + ...pt_transformation_alias_list_with_type.sql | 1 + ...ipt_transformation_row_format_multiple.sql | 1 + .../script_transformation_row_format_one.sql | 1 + ...script_transformation_row_format_serde.sql | 1 + ...ransformation_row_format_without_serde.sql | 1 + .../test/resources/sqlgen/select_distinct.sql | 1 + .../resources/sqlgen/select_orc_table.sql | 1 + .../resources/sqlgen/select_parquet_table.sql | 1 + .../src/test/resources/sqlgen/self_join.sql | 1 + .../sqlgen/self_join_with_group_by.sql | 1 + .../resources/sqlgen/sort_by_after_having.sql | 1 + .../test/resources/sqlgen/tablesample_1.sql | 1 + .../test/resources/sqlgen/tablesample_2.sql | 1 + .../test/resources/sqlgen/tablesample_3.sql | 1 + .../test/resources/sqlgen/tablesample_4.sql | 1 + .../test/resources/sqlgen/tablesample_5.sql | 1 + .../test/resources/sqlgen/tablesample_6.sql | 1 + .../resources/sqlgen/three_child_union.sql | 1 + .../test/resources/sqlgen/type_widening.sql | 1 + .../test/resources/sqlgen/union_distinct.sql | 1 + .../test/resources/sqlgen/window_basic_1.sql | 1 + .../test/resources/sqlgen/window_basic_2.sql | 1 + .../test/resources/sqlgen/window_basic_3.sql | 1 + .../resources/sqlgen/window_with_join.sql | 1 + .../window_with_the_same_window_with_agg.sql | 1 + ...w_with_the_same_window_with_agg_filter.sql | 1 + ...ith_the_same_window_with_agg_functions.sql | 1 + ...w_with_the_same_window_with_agg_having.sql | 1 + .../sql/catalyst/LogicalPlanToSQLSuite.scala | 1421 ++--------------- 103 files changed, 224 insertions(+), 1299 deletions(-) create mode 100644 sql/hive/src/test/resources/sqlgen/agg1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/agg2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/agg3.sql create mode 100644 sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql create mode 100644 sql/hive/src/test/resources/sqlgen/case.sql create mode 100644 sql/hive/src/test/resources/sqlgen/case_with_else.sql create mode 100644 sql/hive/src/test/resources/sqlgen/case_with_key.sql create mode 100644 sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql create mode 100644 sql/hive/src/test/resources/sqlgen/cluster_by.sql create mode 100644 sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql create mode 100644 sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql create mode 100644 sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql create mode 100644 sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql create mode 100644 sql/hive/src/test/resources/sqlgen/distribute_by.sql create mode 100644 sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql create mode 100644 sql/hive/src/test/resources/sqlgen/except.sql create mode 100644 sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql create mode 100644 sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql create mode 100644 sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql create mode 100644 sql/hive/src/test/resources/sqlgen/in.sql create mode 100644 sql/hive/src/test/resources/sqlgen/intersect.sql create mode 100644 sql/hive/src/test/resources/sqlgen/join_2_tables.sql create mode 100644 sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/multi_distinct.sql create mode 100644 sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/not_in.sql create mode 100644 sql/hive/src/test/resources/sqlgen/not_like.sql create mode 100644 sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql create mode 100644 sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql create mode 100644 sql/hive/src/test/resources/sqlgen/select_distinct.sql create mode 100644 sql/hive/src/test/resources/sqlgen/select_orc_table.sql create mode 100644 sql/hive/src/test/resources/sqlgen/select_parquet_table.sql create mode 100644 sql/hive/src/test/resources/sqlgen/self_join.sql create mode 100644 sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql create mode 100644 sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql create mode 100644 sql/hive/src/test/resources/sqlgen/tablesample_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/tablesample_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/tablesample_3.sql create mode 100644 sql/hive/src/test/resources/sqlgen/tablesample_4.sql create mode 100644 sql/hive/src/test/resources/sqlgen/tablesample_5.sql create mode 100644 sql/hive/src/test/resources/sqlgen/tablesample_6.sql create mode 100644 sql/hive/src/test/resources/sqlgen/three_child_union.sql create mode 100644 sql/hive/src/test/resources/sqlgen/type_widening.sql create mode 100644 sql/hive/src/test/resources/sqlgen/union_distinct.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_basic_1.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_basic_2.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_basic_3.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_with_join.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql create mode 100644 sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql diff --git a/sql/hive/src/test/resources/sqlgen/agg1.sql b/sql/hive/src/test/resources/sqlgen/agg1.sql new file mode 100644 index 0000000000000..42a901fa70cf7 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/agg1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/agg2.sql b/sql/hive/src/test/resources/sqlgen/agg2.sql new file mode 100644 index 0000000000000..7cea3d6ddf2f5 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/agg2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/agg3.sql b/sql/hive/src/test/resources/sqlgen/agg3.sql new file mode 100644 index 0000000000000..0c83dbbafbf46 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/agg3.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql new file mode 100644 index 0000000000000..836023b44b878 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `(max(c) + count(a) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, count(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case.sql b/sql/hive/src/test/resources/sqlgen/case.sql new file mode 100644 index 0000000000000..03f5db6a08a12 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/case.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((id % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((`gen_attr` % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case_with_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_else.sql new file mode 100644 index 0000000000000..c3c3ce62486ff --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/case_with_else.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key.sql b/sql/hive/src/test/resources/sqlgen/case_with_key.sql new file mode 100644 index 0000000000000..b45e9362b0a2f --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/case_with_key.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql new file mode 100644 index 0000000000000..10a30b30767cd --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar ELSE baz END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" ELSE "baz" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/cluster_by.sql b/sql/hive/src/test/resources/sqlgen/cluster_by.sql new file mode 100644 index 0000000000000..2f7aadf6c5cf9 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/cluster_by.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql new file mode 100644 index 0000000000000..e242db833ed84 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`json_parquet_t0`) AS gen_subquery_0) AS json_parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql new file mode 100644 index 0000000000000..f6c5b30438e24 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`orc_parquet_t0`) AS gen_subquery_0) AS orc_parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql new file mode 100644 index 0000000000000..240e4e1e99a11 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_parquet_t0`) AS gen_subquery_0) AS parquet_parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql new file mode 100644 index 0000000000000..a8d3f3790966a --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `count(DISTINCT id)` FROM (SELECT count(DISTINCT `gen_attr`) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by.sql new file mode 100644 index 0000000000000..59b3eb53eebcb --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/distribute_by.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 DISTRIBUTE BY `gen_attr`) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql new file mode 100644 index 0000000000000..2f7aadf6c5cf9 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/except.sql b/sql/hive/src/test/resources/sqlgen/except.sql new file mode 100644 index 0000000000000..72f91b2ea89e7 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/except.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) EXCEPT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql new file mode 100644 index 0000000000000..7ea8329cd240a --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a` FROM (SELECT `gen_attr` FROM (SELECT (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t WHERE (`gen_attr` > CAST(5 AS BIGINT))) AS t \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql new file mode 100644 index 0000000000000..6a5cd9a4ed98a --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 WHERE (`gen_attr` > CAST(2 AS BIGINT))) AS gen_subquery_1 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS parquet_t3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql new file mode 100644 index 0000000000000..618f5cda89755 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr` WHERE (`gen_attr` > CAST(2 AS BIGINT)) ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql new file mode 100644 index 0000000000000..bea164543d368 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql new file mode 100644 index 0000000000000..cc01251f29629 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql new file mode 100644 index 0000000000000..ea0fb07f3fc62 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql new file mode 100644 index 0000000000000..c3f5169edab80 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql new file mode 100644 index 0000000000000..33190f5176f5e --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `col`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_1 AS `gen_attr`) AS parquet_t3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql new file mode 100644 index 0000000000000..a30b9b3f2c062 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val`, `gen_attr` AS `a` FROM (SELECT `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql new file mode 100644 index 0000000000000..7322e3751ef50 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql new file mode 100644 index 0000000000000..2fa1e602697cf --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql new file mode 100644 index 0000000000000..a4088f4b6e247 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql new file mode 100644 index 0000000000000..54534180fac8f --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql new file mode 100644 index 0000000000000..0bfbd33d48ade --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql new file mode 100644 index 0000000000000..e089cde78c536 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql new file mode 100644 index 0000000000000..d68ccf0dd3f53 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))))) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql new file mode 100644 index 0000000000000..3f5fa36723fdf --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`), (`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql new file mode 100644 index 0000000000000..11e8261c00caa --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql new file mode 100644 index 0000000000000..11e8261c00caa --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql new file mode 100644 index 0000000000000..3715be5877115 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS(()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql new file mode 100644 index 0000000000000..2012a32cfa94f --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((), (`gen_attr`), (`gen_attr`, `gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/in.sql b/sql/hive/src/test/resources/sqlgen/in.sql new file mode 100644 index 0000000000000..15de63d6be4f9 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/in.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 WHERE (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT)))) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/intersect.sql b/sql/hive/src/test/resources/sqlgen/intersect.sql new file mode 100644 index 0000000000000..0a847ae236777 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/intersect.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) INTERSECT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/join_2_tables.sql b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql new file mode 100644 index 0000000000000..54731e5454b9e --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `count(value)`, `gen_attr` AS `KEY`, `gen_attr` AS `KEY` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr`, `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql new file mode 100644 index 0000000000000..8b27dc4b8b63c --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `c0`, `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql new file mode 100644 index 0000000000000..01657b5daf182 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `c` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/multi_distinct.sql b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql new file mode 100644 index 0000000000000..fdfd5bc29dfc6 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `count(DISTINCT b)`, `gen_attr` AS `count(DISTINCT c)`, `gen_attr` AS `sum(d)` FROM (SELECT `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`) AS parquet_t2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql new file mode 100644 index 0000000000000..0c003ebe50cc0 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql new file mode 100644 index 0000000000000..73a10f0831c75 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/not_in.sql b/sql/hive/src/test/resources/sqlgen/not_in.sql new file mode 100644 index 0000000000000..90f84e87c1541 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/not_in.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT))))) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/not_like.sql b/sql/hive/src/test/resources/sqlgen/not_like.sql new file mode 100644 index 0000000000000..aa84b3136f12d --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/not_like.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT CAST((`gen_attr` + CAST(5 AS BIGINT)) AS STRING) LIKE "1%")) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql new file mode 100644 index 0000000000000..35619fd995e75 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `(max(key) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) + key)` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql new file mode 100644 index 0000000000000..aa07f6d4ed4f4 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql new file mode 100644 index 0000000000000..aa07f6d4ed4f4 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql new file mode 100644 index 0000000000000..37324ff2dee76 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql new file mode 100644 index 0000000000000..8e63566ea8c1c --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql new file mode 100644 index 0000000000000..e2f120b328e93 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql new file mode 100644 index 0000000000000..293f03e8e60a4 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql new file mode 100644 index 0000000000000..67c453d862ae2 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql new file mode 100644 index 0000000000000..8f615f7581100 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql new file mode 100644 index 0000000000000..02a97c54e17f3 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql new file mode 100644 index 0000000000000..20da245a9ee40 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql new file mode 100644 index 0000000000000..506ed512af8eb --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql new file mode 100644 index 0000000000000..bc6a64ca95a27 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql new file mode 100644 index 0000000000000..e6c670e1deb4e --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql new file mode 100644 index 0000000000000..1bdc4f24e301f --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql new file mode 100644 index 0000000000000..31416a74b646a --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql new file mode 100644 index 0000000000000..4599e9678e2e7 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql new file mode 100644 index 0000000000000..042d94d87faf8 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping_id(a, b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql new file mode 100644 index 0000000000000..4f15a14e6c7f5 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql new file mode 100644 index 0000000000000..f688d38ff91c1 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql new file mode 100644 index 0000000000000..0e991b374704d --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql new file mode 100644 index 0000000000000..da04100127ced --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql new file mode 100644 index 0000000000000..3268d4d786dce --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql new file mode 100644 index 0000000000000..d2b5f9938bcd3 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql new file mode 100644 index 0000000000000..57695c5bb0f1f --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql new file mode 100644 index 0000000000000..57695c5bb0f1f --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql new file mode 100644 index 0000000000000..4505deafc713c --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `d1`, `gen_attr` AS `d2`, `gen_attr` AS `d3`, `gen_attr` AS `d4` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` string, `gen_attr` string, `gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql new file mode 100644 index 0000000000000..85ed317551af9 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `(thing1 + 1)` FROM (SELECT (`gen_attr` + 1) AS `gen_attr` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` int, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql new file mode 100644 index 0000000000000..6b19aa5ad7a49 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql new file mode 100644 index 0000000000000..bc3386c88431b --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql new file mode 100644 index 0000000000000..26379228f978e --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql new file mode 100644 index 0000000000000..6b3980858178f --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/select_distinct.sql b/sql/hive/src/test/resources/sqlgen/select_distinct.sql new file mode 100644 index 0000000000000..80421f23b626a --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/select_distinct.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT DISTINCT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/select_orc_table.sql b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql new file mode 100644 index 0000000000000..7b784f5398aaf --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`orc_t`) AS gen_subquery_0) AS orc_t \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql new file mode 100644 index 0000000000000..598cde0f6b34c --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`parquet_t`) AS gen_subquery_0) AS parquet_t \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/self_join.sql b/sql/hive/src/test/resources/sqlgen/self_join.sql new file mode 100644 index 0000000000000..1e7889a514050 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/self_join.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key` FROM (SELECT `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS x \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql new file mode 100644 index 0000000000000..2196bd2cd1438 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `count(1)` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS x \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql new file mode 100644 index 0000000000000..8a11430832d98 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1 SORT BY `gen_attr` ASC) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_1.sql b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql new file mode 100644 index 0000000000000..777e7c85dfb2b --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_2.sql b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql new file mode 100644 index 0000000000000..a334a28354254 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_3.sql b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql new file mode 100644 index 0000000000000..9e29793353ac8 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_4.sql b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql new file mode 100644 index 0000000000000..08f770147849b --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_5.sql b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql new file mode 100644 index 0000000000000..6ce6b45e2be64 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS s \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_6.sql b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql new file mode 100644 index 0000000000000..6b902a48ead11 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/three_child_union.sql b/sql/hive/src/test/resources/sqlgen/three_child_union.sql new file mode 100644 index 0000000000000..f3b6e5e2ae93e --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/three_child_union.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_2)) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/type_widening.sql b/sql/hive/src/test/resources/sqlgen/type_widening.sql new file mode 100644 index 0000000000000..276f129fd5ab4 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/type_widening.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT CAST(CAST(`gen_attr` AS INT) AS BIGINT) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1)) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/union_distinct.sql b/sql/hive/src/test/resources/sqlgen/union_distinct.sql new file mode 100644 index 0000000000000..095973f2f07c1 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/union_distinct.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0) UNION DISTINCT (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_1.sql b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql new file mode 100644 index 0000000000000..9537f4c47fb46 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `max(value) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)` FROM (SELECT `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_2.sql b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql new file mode 100644 index 0000000000000..3e27a1f7cd473 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `round(avg(key) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), 2)` FROM (SELECT `gen_attr`, `gen_attr`, round(`gen_attr`, 2) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, avg(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2 ORDER BY `gen_attr` ASC) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_3.sql b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql new file mode 100644 index 0000000000000..3c7517cc86388 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(7 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_join.sql b/sql/hive/src/test/resources/sqlgen/window_with_join.sql new file mode 100644 index 0000000000000..c46a7fd890b32 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_with_join.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `max(key) OVER (PARTITION BY (key % CAST(5 AS BIGINT)) ORDER BY key ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS gen_subquery_2) AS gen_subquery_3) AS x \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql new file mode 100644 index 0000000000000..c5b7b56dd63c7 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `count(key)` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql new file mode 100644 index 0000000000000..0ccf904c79493 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `ca` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr`, count(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql new file mode 100644 index 0000000000000..105e79f43f734 --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql new file mode 100644 index 0000000000000..a58ea7d50956e --- /dev/null +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql @@ -0,0 +1 @@ +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(5 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index 5ac188727e822..bdf5dafa1f379 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -17,6 +17,9 @@ package org.apache.spark.sql.catalyst +import java.nio.charset.StandardCharsets +import java.nio.file.{Files, Paths} + import scala.util.control.NonFatal import org.apache.spark.sql.Column @@ -76,22 +79,29 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } + // Used for generating new query answer files by saving + private val saveQuery = false + /** * Compare the generated SQL with the expected answer string. * Note that there exists a normalization for both arguments for the convenience. * - Remove the id from the generated attributes, e.g., `gen_attr_1` -> `gen_attr`. - * - Multiple spaces are replaced into a single space. - * - New line characters are replaced into space. - * - Trim the left and right finally. */ - private def checkSQLStructure(convertedSQL: String, expectedString: String): Unit = { - val normalizedGenSQL = convertedSQL - .replaceAll("`gen_attr_\\d+`", "`gen_attr`") - .replaceAll(" ", " ") - assert(normalizedGenSQL == expectedString.replaceAll("[ \n]+", " ").trim()) + private def checkSQLStructure(convertedSQL: String, answerFile: String): Unit = { + val normalizedGenSQL = convertedSQL.replaceAll("`gen_attr_\\d+`", "`gen_attr`") + if (answerFile != null) { + val path = s"src/test/resources/sqlgen/$answerFile.sql" + if (saveQuery) { + Files.write(Paths.get(path), normalizedGenSQL.getBytes(StandardCharsets.UTF_8)) + } else { + val answerSQL = new String(Files.readAllBytes(Paths.get(path)), StandardCharsets.UTF_8) + val normalizedExpectSQL = answerSQL.replaceAll("`gen_attr_\\d+`", "`gen_attr`") + assert(normalizedGenSQL == normalizedExpectSQL) + } + } } - private def checkHiveQl(hiveQl: String, expectedString: String = null): Unit = { + private def checkHiveQl(hiveQl: String, answerFile: String = null): Unit = { val df = sql(hiveQl) val convertedSQL = try new SQLBuilder(df).toSQL catch { @@ -107,7 +117,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, e) } - if (expectedString != null) checkSQLStructure(convertedSQL, expectedString) + checkSQLStructure(convertedSQL, answerFile) try { checkAnswer(sql(convertedSQL), df) @@ -128,74 +138,23 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("in") { - checkHiveQl("SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3)", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0 - | WHERE (CAST(`gen_attr` AS BIGINT) - | IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT)))) - | AS parquet_t0 - """.stripMargin) + checkHiveQl("SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3)", "in") } test("not in") { - checkHiveQl("SELECT id FROM t0 WHERE id NOT IN (1, 2, 3)", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 - | WHERE (NOT (CAST(`gen_attr` AS BIGINT) - | IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT))))) - | AS t0 - """.stripMargin) + checkHiveQl("SELECT id FROM t0 WHERE id NOT IN (1, 2, 3)", "not_in") } test("not like") { - checkHiveQl("SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%'", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_0 - | WHERE (NOT CAST((`gen_attr` + CAST(5 AS BIGINT)) AS STRING) LIKE "1%")) - | AS t0 - """.stripMargin) + checkHiveQl("SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%'", "not_like") } test("aggregate function in having clause") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0", - """ - |SELECT `gen_attr` AS `count(value)` - |FROM (SELECT `gen_attr` - | FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr` - | HAVING (`gen_attr` > CAST(0 AS BIGINT))) - | AS gen_subquery_1) - | AS gen_subquery_2 - """.stripMargin) + checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0", "agg1") } test("aggregate function in order by clause") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key)", - """ - |SELECT `gen_attr` AS `count(value)` - |FROM (SELECT `gen_attr` - | FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr` - | ORDER BY `gen_attr` ASC) - | AS gen_subquery_1) - | AS gen_subquery_2 - """.stripMargin) + checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key)", "agg2") } // When there are multiple aggregate functions in ORDER BY clause, all of them are extracted into @@ -203,54 +162,16 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // execution since these aliases have different expression ID. But this introduces name collision // when converting resolved plans back to SQL query strings as expression IDs are stripped. test("aggregate function in order by clause with multiple order keys") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key)", - """ - |SELECT `gen_attr` AS `count(value)` - |FROM (SELECT `gen_attr` - | FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, - | max(`gen_attr`) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr` - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1) - | AS gen_subquery_2 - """.stripMargin) + checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key)", "agg3") } test("type widening in union") { checkHiveQl("SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0", - """ - |SELECT `gen_attr` AS `id` - |FROM ((SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | UNION ALL - | (SELECT CAST(CAST(`gen_attr` AS INT) AS BIGINT) AS `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_1)) - | AS parquet_t0 - """.stripMargin) + "type_widening") } test("union distinct") { - checkHiveQl("SELECT * FROM t0 UNION SELECT * FROM t0", - """ - |SELECT `gen_attr` AS `id` - |FROM ((SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_0) - | UNION DISTINCT - | (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_1)) - | AS t0 - """.stripMargin) + checkHiveQl("SELECT * FROM t0 UNION SELECT * FROM t0", "union_distinct") } test("three-child union") { @@ -260,168 +181,48 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |UNION ALL SELECT id FROM parquet_t0 |UNION ALL SELECT id FROM parquet_t0 """.stripMargin, - """ - |SELECT `gen_attr` AS `id` - |FROM ((SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | UNION ALL - | (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_1) - | UNION ALL - | (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_2)) - | AS parquet_t0 - """.stripMargin) + "three_child_union") } test("intersect") { - checkHiveQl("SELECT * FROM t0 INTERSECT SELECT * FROM t0", - """ - |SELECT `gen_attr` AS `id` - |FROM ((SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_0 ) - | INTERSECT - | ( SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_1)) - | AS t0 - """.stripMargin) + checkHiveQl("SELECT * FROM t0 INTERSECT SELECT * FROM t0", "intersect") } test("except") { - checkHiveQl("SELECT * FROM t0 EXCEPT SELECT * FROM t0", - """ - |SELECT `gen_attr` AS `id` - |FROM ((SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_0 ) - | EXCEPT ( SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_1)) - | AS t0 - """.stripMargin) + checkHiveQl("SELECT * FROM t0 EXCEPT SELECT * FROM t0", "except") } test("self join") { - checkHiveQl("SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key", - """ - |SELECT `gen_attr` AS `key` - |FROM (SELECT `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_1 - | ON (`gen_attr` = `gen_attr`)) - | AS x - """.stripMargin) + checkHiveQl("SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key", "self_join") } test("self join with group by") { checkHiveQl( "SELECT x.key, COUNT(*) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key group by x.key", - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `count(1)` - |FROM (SELECT `gen_attr`, count(1) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_1 - | ON (`gen_attr` = `gen_attr`) - | GROUP BY `gen_attr`) - | AS x - """.stripMargin) + "self_join_with_group_by") } test("case") { - // scalastyle:off line.size.limit checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0", - """ - |SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((id % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END` - |FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 - | WHEN ((`gen_attr` % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 - | END AS `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) - // scalastyle:on line.size.limit + "case") } test("case with else") { - checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0", - """ - |SELECT `gen_attr` - | AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END` - |FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 - | ELSE 1 - | END AS `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) + checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0", "case_with_else") } test("case with key") { - // scalastyle:off line.size.limit checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0", - """ - |SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar END` - |FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" - | WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" - | END AS `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) - // scalastyle:on line.size.limit + "case_with_key") } test("case with key and else") { - // scalastyle:off line.size.limit checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0", - """ - |SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar ELSE baz END` - |FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" - | WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" - | ELSE "baz" - | END AS `gen_attr` - | FROM - | (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) - // scalastyle:on line.size.limit + "case_with_key_and_else") } test("select distinct without aggregate functions") { - checkHiveQl("SELECT DISTINCT id FROM parquet_t0", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT DISTINCT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | AS parquet_t0 - """.stripMargin) + checkHiveQl("SELECT DISTINCT id FROM parquet_t0", "select_distinct") } test("rollup/cube #1") { @@ -447,91 +248,29 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // GROUPING SETS (((`t1`.`key` % CAST(5 AS BIGINT))), ()) checkHiveQl( "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH ROLLUP", - """ - |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, - | `gen_attr` AS `grouping_id()` - |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | grouping_id() AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) - | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_1_1") checkHiveQl( "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH CUBE", - """ - |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, - | `gen_attr` AS `grouping_id()` - |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | grouping_id() AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) - | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_1_2") } test("rollup/cube #2") { checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP", - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | count(`gen_attr`) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_2_1") checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE", - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | count(`gen_attr`) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_2_2") } test("rollup/cube #3") { checkHiveQl( "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH ROLLUP", - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` - |FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, - | grouping_id() AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_3_1") checkHiveQl( "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH CUBE", - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` - |FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, - | grouping_id() AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_3_2") } test("rollup/cube #4") { @@ -540,39 +279,14 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 |GROUP BY key % 5, key - 5 WITH ROLLUP """.stripMargin, - """ - |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, - | `gen_attr` AS `grouping_id()` - |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), - | ((`gen_attr` % CAST(5 AS BIGINT))), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_4_1") checkHiveQl( s""" |SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 |GROUP BY key % 5, key - 5 WITH CUBE """.stripMargin, - """ - |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, - | `gen_attr` AS `grouping_id()` - |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), - | ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), - | ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_4_2") } test("rollup/cube #5") { @@ -582,21 +296,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM (SELECT key, key%2, key - 5 FROM parquet_t1) t GROUP BY key%5, key-5 |WITH ROLLUP """.stripMargin, - """ - |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` - |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` - | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS t - | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), - | ((`gen_attr` % CAST(5 AS BIGINT))), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_5_1") checkHiveQl( s""" @@ -604,143 +304,38 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 |WITH CUBE """.stripMargin, - """ - |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` - |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` - | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS t - | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), - | ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), - | ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_5_2") } test("rollup/cube #6") { checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_6_1") checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_6_2") checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_6_3") checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 - """.stripMargin) + "rollup_cube_6_4") checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP", - """ - |SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` - |FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum((`gen_attr` - `gen_attr`)) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` - | GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), - | ((`gen_attr` + `gen_attr`)), ())) - | AS gen_subquery_1 - """.stripMargin) - checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE") + "rollup_cube_6_5") + + checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE", + "rollup_cube_6_6") } test("rollup/cube #7") { checkHiveQl("SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b)", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping_id(a, b)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | grouping_id() AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_7_1") checkHiveQl("SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b)", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(b)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | grouping(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_7_2") checkHiveQl("SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b)", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(a)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | grouping(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_7_3") } test("rollup/cube #8") { @@ -751,19 +346,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 |WITH ROLLUP """.stripMargin, - """ - |SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` - |FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, - | hash(grouping_id()) AS `gen_attr` - | FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS t - | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_8_1") checkHiveQl( s""" @@ -771,20 +354,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 |WITH CUBE """.stripMargin, - """ - |SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` - |FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, - | hash(grouping_id()) AS `gen_attr` - | FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS t - | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), - | ((`gen_attr` - CAST(5 AS BIGINT))), ())) - | AS gen_subquery_1 - """.stripMargin) + "rollup_cube_8_2") } test("rollup/cube #9") { @@ -797,25 +367,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |GROUP BY cnt, t.key - 5 |WITH ROLLUP """.stripMargin, - """ - |SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, - | `gen_attr` AS `sum(cnt)` - |FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `gen_attr`, count(1) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_1 - | ON (`gen_attr` = `gen_attr`) - | GROUP BY `gen_attr`) - | AS t - | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) - | AS gen_subquery_2 - """.stripMargin) + "rollup_cube_9_1") checkHiveQl( s""" @@ -825,26 +377,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |GROUP BY cnt, t.key - 5 |WITH CUBE """.stripMargin, - """ - |SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, - | `gen_attr` AS `sum(cnt)` - |FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `gen_attr`, count(1) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_1 - | ON (`gen_attr` = `gen_attr`) - | GROUP BY `gen_attr`) - | AS t - | GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), - | ((`gen_attr` - CAST(5 AS BIGINT))), ())) - | AS gen_subquery_2 - """.stripMargin) + "rollup_cube_9_2") } test("grouping sets #1") { @@ -854,177 +387,54 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 |GROUPING SETS (key % 5, key - 5) """.stripMargin, - """ - |SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` - |FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` - | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS t - | GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) - | GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), - | ((`gen_attr` - CAST(5 AS BIGINT))))) - | AS gen_subquery_1 - """.stripMargin) + "grouping_sets_1") } test("grouping sets #2") { checkHiveQl( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a, b) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`), (`gen_attr`)) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "grouping_sets_2_1") checkHiveQl( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`)) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "grouping_sets_2_2") checkHiveQl( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (b) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((`gen_attr`)) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "grouping_sets_2_3") checkHiveQl( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (()) ORDER BY a, b", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS(()) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "grouping_sets_2_4") checkHiveQl( s""" |SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b |GROUPING SETS ((), (a), (a, b)) ORDER BY a, b """.stripMargin, - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` - |FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, - | sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | GROUPING SETS((), (`gen_attr`), (`gen_attr`, `gen_attr`)) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC) - | AS gen_subquery_1 - """.stripMargin) + "grouping_sets_2_5") } test("cluster by") { - checkHiveQl("SELECT id FROM parquet_t0 CLUSTER BY id", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0 - | CLUSTER BY `gen_attr`) - | AS parquet_t0 - """.stripMargin) + checkHiveQl("SELECT id FROM parquet_t0 CLUSTER BY id", "cluster_by") } test("distribute by") { - checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0 - | DISTRIBUTE BY `gen_attr`) - | AS parquet_t0 - """.stripMargin) + checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id", "distribute_by") } test("distribute by with sort by") { checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0 - | CLUSTER BY `gen_attr`) - | AS parquet_t0 - """.stripMargin) + "distribute_by_with_sort_by") } test("SPARK-13720: sort by after having") { checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key", - """ - |SELECT `gen_attr` AS `count(value)` - |FROM (SELECT `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr`, - | `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr` - | HAVING (`gen_attr` > CAST(0 AS BIGINT))) - | AS gen_subquery_1 - | SORT BY `gen_attr` ASC) - | AS gen_subquery_2) - | AS gen_subquery_3 - """.stripMargin) + "sort_by_after_having") } test("distinct aggregation") { - checkHiveQl("SELECT COUNT(DISTINCT id) FROM parquet_t0", - """ - |SELECT `gen_attr` AS `count(DISTINCT id)` - |FROM (SELECT count(DISTINCT `gen_attr`) AS `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) + checkHiveQl("SELECT COUNT(DISTINCT id) FROM parquet_t0", "distinct_aggregation") } test("TABLESAMPLE") { @@ -1033,102 +443,34 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // +- Subquery s // +- Subquery parquet_t0 // +- Relation[id#2L] ParquetRelation - checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0` - | TABLESAMPLE(100.0 PERCENT)) - | AS gen_subquery_0) - | AS s - """.stripMargin) + checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s", "tablesample_1") // Project [id#2L] // +- Sample 0.0, 1.0, false, ... // +- Subquery parquet_t0 // +- Relation[id#2L] ParquetRelation - checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT)", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0` - | TABLESAMPLE(100.0 PERCENT)) - | AS gen_subquery_0) - | AS parquet_t0 - """.stripMargin) + checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT)", "tablesample_2") // Project [id#21L] // +- Sample 0.0, 1.0, false, ... // +- MetastoreRelation default, t0, Some(s) - checkHiveQl("SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0` - | TABLESAMPLE(100.0 PERCENT)) - | AS gen_subquery_0) - | AS s - """.stripMargin) + checkHiveQl("SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s", "tablesample_3") // Project [id#24L] // +- Sample 0.0, 1.0, false, ... // +- MetastoreRelation default, t0, None - checkHiveQl("SELECT * FROM t0 TABLESAMPLE(100 PERCENT)", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0` - | TABLESAMPLE(100.0 PERCENT)) - | AS gen_subquery_0) - | AS t0 - """.stripMargin) + checkHiveQl("SELECT * FROM t0 TABLESAMPLE(100 PERCENT)", "tablesample_4") // When a sampling fraction is not 100%, the returned results are random. // Thus, added an always-false filter here to check if the generated plan can be successfully // executed. - checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0` - | TABLESAMPLE(0.1 PERCENT)) - | AS gen_subquery_0 - | WHERE (1 = 0)) - | AS s - """.stripMargin) - - checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0", - """ - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`parquet_t0` - | TABLESAMPLE(0.1 PERCENT)) - | AS gen_subquery_0 - | WHERE (1 = 0)) - | AS parquet_t0 - """.stripMargin) + checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0", "tablesample_5") + checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0", "tablesample_6") } test("multi-distinct columns") { checkHiveQl("SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a", - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `count(DISTINCT b)`, - | `gen_attr` AS `count(DISTINCT c)`, `gen_attr` AS `sum(d)` - |FROM (SELECT `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, - | count(DISTINCT `gen_attr`) AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`) - | AS parquet_t2 - """.stripMargin) + "multi_distinct") } test("persisted data source relations") { @@ -1136,91 +478,30 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { val tableName = s"${format}_parquet_t0" withTable(tableName) { spark.range(10).write.format(format).saveAsTable(tableName) - checkHiveQl(s"SELECT id FROM $tableName", - s""" - |SELECT `gen_attr` AS `id` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`$tableName`) - | AS gen_subquery_0) - | AS $tableName - """.stripMargin) + checkHiveQl(s"SELECT id FROM $tableName", s"data_source_$tableName") } } } test("script transformation - schemaless") { checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2", - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value` - |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) - | USING 'cat' - | AS (`gen_attr` string, `gen_attr` string) - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) - + "script_transformation_1") checkHiveQl("SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2", - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value` - |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) - | USING 'cat' - | AS (`gen_attr` string, `gen_attr` string) - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) + "script_transformation_2") } test("script transformation - alias list") { - // scalastyle:off checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2", - """ - |SELECT `gen_attr` AS `d1`, `gen_attr` AS `d2`, `gen_attr` AS `d3`, `gen_attr` AS `d4` - |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | WITH SERDEPROPERTIES('field.delim' = ' ') - | USING 'cat' AS (`gen_attr` string, `gen_attr` string, `gen_attr` string, - | `gen_attr` string) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | WITH SERDEPROPERTIES('field.delim' = ' ') - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) - // scalastyle:on + "script_transformation_alias_list") } test("script transformation - alias list with type") { - // scalastyle:off checkHiveQl( """FROM |(FROM parquet_t1 SELECT TRANSFORM(key, value) USING 'cat' AS (thing1 int, thing2 string)) t |SELECT thing1 + 1 """.stripMargin, - """ - |SELECT `gen_attr` AS `(thing1 + 1)` - |FROM (SELECT (`gen_attr` + 1) AS `gen_attr` - | FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | WITH SERDEPROPERTIES('field.delim' = ' ') - | USING 'cat' AS (`gen_attr` int, `gen_attr` string) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | WITH SERDEPROPERTIES('field.delim' = ' ') - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS t) - | AS gen_subquery_1 - """.stripMargin) - // scalastyle:on + "script_transformation_alias_list_with_type") } test("script transformation - row format delimited clause with only one format property") { @@ -1229,17 +510,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |USING 'cat' AS (tKey) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' |FROM parquet_t1 """.stripMargin, - """ - |SELECT `gen_attr` AS `tKey` - |FROM (SELECT TRANSFORM (`gen_attr`) - | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' - | USING 'cat' AS (`gen_attr` string) - | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) + "script_transformation_row_format_one") } test("script transformation - row format delimited clause with multiple format properties") { @@ -1250,17 +521,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' |FROM parquet_t1 """.stripMargin, - """ - |SELECT `gen_attr` AS `tKey` - |FROM (SELECT TRANSFORM (`gen_attr`) - | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' - | USING 'cat' AS (`gen_attr` string) - | ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) + "script_transformation_row_format_multiple") } test("script transformation - row format serde clauses with SERDEPROPERTIES") { @@ -1273,19 +534,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |WITH SERDEPROPERTIES('field.delim' = '|') |FROM parquet_t1 """.stripMargin, - """ - |SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` - |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | WITH SERDEPROPERTIES('field.delim' = '|') - | USING 'cat' AS (`gen_attr` string, `gen_attr` string) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | WITH SERDEPROPERTIES('field.delim' = '|') - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) + "script_transformation_row_format_serde") } test("script transformation - row format serde clauses without SERDEPROPERTIES") { @@ -1296,17 +545,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' |FROM parquet_t1 """.stripMargin, - """ - |SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` - |FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | USING 'cat' AS (`gen_attr` string, `gen_attr` string) - | ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1 - """.stripMargin) + "script_transformation_row_format_without_serde") } test("plans with non-SQL expressions") { @@ -1373,70 +612,21 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window basic") { - // scalastyle:off line.size.limit - checkHiveQl("SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1", - """ - |SELECT `gen_attr` AS `max(value) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)` - |FROM (SELECT `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | max(`gen_attr`) - | OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND - | UNBOUNDED FOLLOWING) - | AS `gen_attr` - | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS gen_subquery_3 - """.stripMargin) + checkHiveQl("SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1", "window_basic_1") checkHiveQl( """ |SELECT key, value, ROUND(AVG(key) OVER (), 2) |FROM parquet_t1 ORDER BY key """.stripMargin, - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `round(avg(key) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), 2)` - |FROM (SELECT `gen_attr`, `gen_attr`, round(`gen_attr`, 2) AS `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | avg(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND - | UNBOUNDED FOLLOWING) AS `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1) - | AS gen_subquery_2 - | ORDER BY `gen_attr` ASC) - | AS parquet_t1 - """.stripMargin) + "window_basic_2") checkHiveQl( """ |SELECT value, MAX(key + 1) OVER (PARTITION BY key % 5 ORDER BY key % 7) AS max |FROM parquet_t1 """.stripMargin, - """ - |SELECT `gen_attr` AS `value`, `gen_attr` AS `max` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` - | ASC RANGE BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr` - | FROM (SELECT `gen_attr`, (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, - | (`gen_attr` % CAST(7 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS parquet_t1 - """.stripMargin) - // scalastyle:on line.size.limit + "window_basic_3") } test("multiple window functions in one expression") { @@ -1449,46 +639,13 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("regular expressions and window functions in one expression") { - // scalastyle:off line.size.limit checkHiveQl("SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1", - """ - |SELECT `gen_attr` AS `(max(key) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) + key)` - |FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | max(`gen_attr`) OVER (PARTITION BY `gen_attr` - | ROWS BETWEEN UNBOUNDED PRECEDING AND - | UNBOUNDED FOLLOWING) AS `gen_attr` - | FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS gen_subquery_3 - """.stripMargin) - // scalastyle:on line.size.limit + "regular_expressions_and_window") } test("aggregate functions and window functions in one expression") { - // scalastyle:off line.size.limit checkHiveQl("SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b", - """ - |SELECT `gen_attr` AS `(max(c) + count(a) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))` - |FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | count(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND - | UNBOUNDED FOLLOWING) AS `gen_attr` - | FROM (SELECT max(`gen_attr`) AS `gen_attr`, `gen_attr` - | FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, - | `d` AS `gen_attr` - | FROM `default`.`parquet_t2`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr`) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS gen_subquery_3 - """.stripMargin) - // scalastyle:on line.size.limit + "aggregate_functions_and_window") } test("window with different window specification") { @@ -1498,27 +655,6 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |DENSE_RANK() OVER (ORDER BY key, value) AS dr, |MAX(value) OVER (PARTITION BY key ORDER BY key ASC) AS max |FROM parquet_t1 - """.stripMargin, - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `max` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, - | gen_subquery_2.`gen_attr`, - | DENSE_RANK() OVER ( ORDER BY `gen_attr` ASC, `gen_attr` ASC - | ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | max(`gen_attr`) OVER (PARTITION BY `gen_attr` - | ORDER BY `gen_attr` ASC - | RANGE BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS gen_subquery_3) - | AS parquet_t1 """.stripMargin) } @@ -1529,25 +665,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |MAX(value) OVER (PARTITION BY key % 5 ORDER BY key DESC) AS max |FROM parquet_t1 GROUP BY key, value HAVING key > 5 """.stripMargin, - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | gen_subquery_1.`gen_attr`, - | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` DESC - | RANGE BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr`, - | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr` - | HAVING (`gen_attr` > CAST(5 AS BIGINT))) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS parquet_t1 - """.stripMargin) + "window_with_the_same_window_with_agg_having") } test("window with the same window specification with aggregate functions") { @@ -1557,24 +675,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |MAX(value) OVER (PARTITION BY key % 5 ORDER BY key) AS max |FROM parquet_t1 GROUP BY key, value """.stripMargin, - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | gen_subquery_1.`gen_attr`, - | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC - | RANGE BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr`, - | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr`) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS parquet_t1 - """.stripMargin) + "window_with_the_same_window_with_agg_functions") } test("window with the same window specification with aggregate") { @@ -1585,25 +686,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |COUNT(key) |FROM parquet_t1 GROUP BY key, value """.stripMargin, - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, - | `gen_attr` AS `count(key)` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | gen_subquery_1.`gen_attr`, - | DENSE_RANK() OVER (PARTITION BY `gen_attr` - | ORDER BY `gen_attr` ASC, `gen_attr` ASC - | ROWS BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr`, count(`gen_attr`) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | GROUP BY `gen_attr`, `gen_attr`) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS parquet_t1 - """.stripMargin) + "window_with_the_same_window_with_agg") } test("window with the same window specification without aggregate and filter") { @@ -1614,26 +697,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |COUNT(key) OVER(DISTRIBUTE BY key SORT BY key, value) AS ca |FROM parquet_t1 """.stripMargin, - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `ca` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, - | DENSE_RANK() OVER (PARTITION BY `gen_attr` - | ORDER BY `gen_attr` ASC, `gen_attr` ASC - | ROWS BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr`, - | count(`gen_attr`) OVER (PARTITION BY `gen_attr` - | ORDER BY `gen_attr` ASC, `gen_attr` ASC - | RANGE BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) - | AS gen_subquery_1) - | AS gen_subquery_2) - | AS parquet_t1 - """.stripMargin) + "window_with_the_same_window_with_agg_filter") } test("window clause") { @@ -1663,34 +727,12 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window with join") { - // scalastyle:off line.size.limit checkHiveQl( """ |SELECT x.key, MAX(y.key) OVER (PARTITION BY x.key % 5 ORDER BY x.key) |FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key """.stripMargin, - """ - |SELECT `gen_attr` AS `key`, `gen_attr` AS `max(key) OVER (PARTITION BY (key % CAST(5 AS BIGINT)) ORDER BY key ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, - | gen_subquery_2.`gen_attr`, - | max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC - | RANGE BETWEEN UNBOUNDED PRECEDING AND - | CURRENT ROW) AS `gen_attr` - | FROM (SELECT `gen_attr`, `gen_attr`, - | (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_1 - | ON (`gen_attr` = `gen_attr`)) - | AS gen_subquery_2) - | AS gen_subquery_3) - | AS x - """.stripMargin) - // scalastyle:on line.size.limit + "window_with_join") } test("join 2 tables and aggregate function in having clause") { @@ -1701,144 +743,34 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |GROUP BY a.KEY, b.KEY |HAVING MAX(a.KEY) > 0 """.stripMargin, - """ - |SELECT `gen_attr` AS `count(value)`, `gen_attr` AS `KEY`, `gen_attr` AS `KEY` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr`, `gen_attr`, - | max(`gen_attr`) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0 - | INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_1 - | GROUP BY `gen_attr`, `gen_attr` - | HAVING (`gen_attr` > CAST(0 AS BIGINT))) - | AS gen_subquery_2) - | AS gen_subquery_3 - """.stripMargin) + "join_2_tables") } test("generator in project list without FROM clause") { - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3))", - """ - |SELECT `gen_attr` AS `col` - |FROM (SELECT `gen_attr` - | FROM (SELECT 1) gen_subquery_1 - | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_0 - """.stripMargin) - - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val", - """ - |SELECT `gen_attr` AS `val` - |FROM (SELECT `gen_attr` - | FROM (SELECT 1) gen_subquery_1 - | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_0 - """.stripMargin) + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3))", "generator_without_from_1") + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val", "generator_without_from_2") } test("generator in project list with non-referenced table") { - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) FROM t0", - """ - |SELECT `gen_attr` AS `col` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_0 - | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) - - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0", - """ - |SELECT `gen_attr` AS `val` - |FROM (SELECT `gen_attr` - | FROM (SELECT `id` AS `gen_attr` - | FROM `default`.`t0`) - | AS gen_subquery_0 - | LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) FROM t0", "generator_non_referenced_table_1") + checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0", "generator_non_referenced_table_2") } test("generator in project list with referenced table") { - checkHiveQl("SELECT EXPLODE(arr) FROM parquet_t3", - """ - |SELECT `gen_attr` AS `col` - |FROM (SELECT `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) - - checkHiveQl("SELECT EXPLODE(arr) AS val FROM parquet_t3", - """ - |SELECT `gen_attr` AS `val` - |FROM (SELECT `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + checkHiveQl("SELECT EXPLODE(arr) FROM parquet_t3", "generator_referenced_table_1") + checkHiveQl("SELECT EXPLODE(arr) AS val FROM parquet_t3", "generator_referenced_table_2") } test("generator in project list with non-UDTF expressions") { - checkHiveQl("SELECT EXPLODE(arr), id FROM parquet_t3", - """ - |SELECT `gen_attr` AS `col`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_1 AS `gen_attr`) - | AS parquet_t3 - """.stripMargin) - - checkHiveQl("SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3", - """ - |SELECT `gen_attr` AS `val`, `gen_attr` AS `a` - |FROM (SELECT `gen_attr`, `gen_attr` AS `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + checkHiveQl("SELECT EXPLODE(arr), id FROM parquet_t3", "generator_non_udtf_1") + checkHiveQl("SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3", "generator_non_udtf_2") } test("generator in lateral view") { checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val", - """ - |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) - + "generator_in_lateral_view_1") checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val", - """ - |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + "generator_in_lateral_view_2") } test("generator in lateral view with ambiguous names") { @@ -1848,16 +780,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t3 |LATERAL VIEW EXPLODE(arr) exp AS id """.stripMargin, - """ - |SELECT `gen_attr` AS `id`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + "generator_with_ambiguous_names_1") checkHiveQl( """ @@ -1865,16 +788,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t3 |LATERAL VIEW OUTER EXPLODE(arr) exp AS id """.stripMargin, - """ - |SELECT `gen_attr` AS `id`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + "generator_with_ambiguous_names_2") } test("use JSON_TUPLE as generator") { @@ -1884,17 +798,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t3 |LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt """.stripMargin, - """ - |SELECT `gen_attr` AS `c0`, `gen_attr` AS `c1`, `gen_attr` AS `c2` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") - | gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) - | AS jt - """.stripMargin) + "json_tuple_generator_1") checkHiveQl( """ @@ -1902,17 +806,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |FROM parquet_t3 |LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt AS a, b, c """.stripMargin, - """ - |SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `c` - |FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") - | gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) - | AS jt - """.stripMargin) + "json_tuple_generator_2") } test("nested generator in lateral view") { @@ -1923,17 +817,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array |LATERAL VIEW EXPLODE(nested_array) exp1 AS val """.stripMargin, - """ - |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` - | LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + "nested_generator_in_lateral_view_1") checkHiveQl( """ @@ -1942,17 +826,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array |LATERAL VIEW OUTER EXPLODE(nested_array) exp1 AS val """.stripMargin, - """ - |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` - | LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) - | AS gen_subquery_1 - """.stripMargin) + "nested_generator_in_lateral_view_2") } test("generate with other operators") { @@ -1964,21 +838,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |ORDER BY val, id |LIMIT 5 """.stripMargin, - """ - |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, - | gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | WHERE (`gen_attr` > CAST(2 AS BIGINT))) - | AS gen_subquery_1 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` - | ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) - | AS parquet_t3 - """.stripMargin) + "generate_with_other_1") checkHiveQl( """ @@ -1990,62 +850,25 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |ORDER BY val, id |LIMIT 5 """.stripMargin, - """ - |SELECT `gen_attr` AS `val`, `gen_attr` AS `id` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, - | `id` AS `gen_attr` - | FROM `default`.`parquet_t3`) - | AS gen_subquery_0 - | LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` - | LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr` - | WHERE (`gen_attr` > CAST(2 AS BIGINT)) - | ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) - | AS gen_subquery_1 - """.stripMargin) + "generate_with_other_2") } test("filter after subquery") { checkHiveQl("SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5", - """ - |SELECT `gen_attr` AS `a` - |FROM (SELECT `gen_attr` - | FROM (SELECT (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr` - | FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` - | FROM `default`.`parquet_t1`) - | AS gen_subquery_0) AS t - | WHERE (`gen_attr` > CAST(5 AS BIGINT))) - | AS t - """.stripMargin) + "filter_after_subquery") } test("SPARK-14933 - select parquet table") { withTable("parquet_t") { sql("create table parquet_t stored as parquet as select 1 as c1, 'abc' as c2") - checkHiveQl("select * from parquet_t", - """ - |SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` - | FROM `default`.`parquet_t`) - | AS gen_subquery_0) - | AS parquet_t - """.stripMargin) + checkHiveQl("select * from parquet_t", "select_parquet_table") } } test("SPARK-14933 - select orc table") { withTable("orc_t") { sql("create table orc_t stored as orc as select 1 as c1, 'abc' as c2") - checkHiveQl("select * from orc_t", - """ - |SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` - |FROM (SELECT `gen_attr`, `gen_attr` - | FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` - | FROM `default`.`orc_t`) - | AS gen_subquery_0) - | AS orc_t - """.stripMargin) + checkHiveQl("select * from orc_t", "select_orc_table") } } } From 4165581c6b13e6dc93acea0e35a3cc1550ccfb57 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sun, 17 Jul 2016 00:02:29 -0700 Subject: [PATCH 3/8] Include original queries in answer files and add class doc for regeneration answerset. --- sql/hive/src/test/resources/sqlgen/agg1.sql | 2 ++ sql/hive/src/test/resources/sqlgen/agg2.sql | 2 ++ sql/hive/src/test/resources/sqlgen/agg3.sql | 2 ++ .../sqlgen/aggregate_functions_and_window.sql | 2 ++ sql/hive/src/test/resources/sqlgen/case.sql | 2 ++ .../test/resources/sqlgen/case_with_else.sql | 2 ++ .../test/resources/sqlgen/case_with_key.sql | 2 ++ .../sqlgen/case_with_key_and_else.sql | 2 ++ .../src/test/resources/sqlgen/cluster_by.sql | 2 ++ .../sqlgen/data_source_json_parquet_t0.sql | 2 ++ .../sqlgen/data_source_orc_parquet_t0.sql | 2 ++ .../sqlgen/data_source_parquet_parquet_t0.sql | 2 ++ .../resources/sqlgen/distinct_aggregation.sql | 2 ++ .../test/resources/sqlgen/distribute_by.sql | 2 ++ .../sqlgen/distribute_by_with_sort_by.sql | 2 ++ sql/hive/src/test/resources/sqlgen/except.sql | 2 ++ .../sqlgen/filter_after_subquery.sql | 2 ++ .../sqlgen/generate_with_other_1.sql | 6 +++++ .../sqlgen/generate_with_other_2.sql | 8 +++++++ .../sqlgen/generator_in_lateral_view_1.sql | 2 ++ .../sqlgen/generator_in_lateral_view_2.sql | 2 ++ .../generator_non_referenced_table_1.sql | 2 ++ .../generator_non_referenced_table_2.sql | 2 ++ .../resources/sqlgen/generator_non_udtf_1.sql | 2 ++ .../resources/sqlgen/generator_non_udtf_2.sql | 2 ++ .../sqlgen/generator_referenced_table_1.sql | 2 ++ .../sqlgen/generator_referenced_table_2.sql | 2 ++ .../generator_with_ambiguous_names_1.sql | 4 ++++ .../generator_with_ambiguous_names_2.sql | 4 ++++ .../sqlgen/generator_without_from_1.sql | 2 ++ .../sqlgen/generator_without_from_2.sql | 2 ++ .../test/resources/sqlgen/grouping_sets_1.sql | 4 ++++ .../resources/sqlgen/grouping_sets_2_1.sql | 2 ++ .../resources/sqlgen/grouping_sets_2_2.sql | 2 ++ .../resources/sqlgen/grouping_sets_2_3.sql | 2 ++ .../resources/sqlgen/grouping_sets_2_4.sql | 2 ++ .../resources/sqlgen/grouping_sets_2_5.sql | 3 +++ sql/hive/src/test/resources/sqlgen/in.sql | 2 ++ .../src/test/resources/sqlgen/intersect.sql | 2 ++ .../test/resources/sqlgen/join_2_tables.sql | 5 ++++ .../sqlgen/json_tuple_generator_1.sql | 4 ++++ .../sqlgen/json_tuple_generator_2.sql | 4 ++++ .../test/resources/sqlgen/multi_distinct.sql | 2 ++ .../nested_generator_in_lateral_view_1.sql | 5 ++++ .../nested_generator_in_lateral_view_2.sql | 5 ++++ sql/hive/src/test/resources/sqlgen/not_in.sql | 2 ++ .../src/test/resources/sqlgen/not_like.sql | 2 ++ .../sqlgen/regular_expressions_and_window.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_1_1.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_1_2.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_2_1.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_2_2.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_3_1.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_3_2.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_4_1.sql | 3 +++ .../test/resources/sqlgen/rollup_cube_4_2.sql | 3 +++ .../test/resources/sqlgen/rollup_cube_5_1.sql | 4 ++++ .../test/resources/sqlgen/rollup_cube_5_2.sql | 4 ++++ .../test/resources/sqlgen/rollup_cube_6_1.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_6_2.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_6_3.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_6_4.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_6_5.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_6_6.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_7_1.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_7_2.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_7_3.sql | 2 ++ .../test/resources/sqlgen/rollup_cube_8_1.sql | 4 ++++ .../test/resources/sqlgen/rollup_cube_8_2.sql | 4 ++++ .../test/resources/sqlgen/rollup_cube_9_1.sql | 6 +++++ .../test/resources/sqlgen/rollup_cube_9_2.sql | 6 +++++ .../sqlgen/script_transformation_1.sql | 2 ++ .../sqlgen/script_transformation_2.sql | 2 ++ .../script_transformation_alias_list.sql | 2 ++ ...pt_transformation_alias_list_with_type.sql | 4 ++++ ...ipt_transformation_row_format_multiple.sql | 6 +++++ .../script_transformation_row_format_one.sql | 4 ++++ ...script_transformation_row_format_serde.sql | 8 +++++++ ...ransformation_row_format_without_serde.sql | 6 +++++ .../test/resources/sqlgen/select_distinct.sql | 2 ++ .../resources/sqlgen/select_orc_table.sql | 2 ++ .../resources/sqlgen/select_parquet_table.sql | 2 ++ .../src/test/resources/sqlgen/self_join.sql | 2 ++ .../sqlgen/self_join_with_group_by.sql | 2 ++ .../resources/sqlgen/sort_by_after_having.sql | 2 ++ .../test/resources/sqlgen/tablesample_1.sql | 2 ++ .../test/resources/sqlgen/tablesample_2.sql | 2 ++ .../test/resources/sqlgen/tablesample_3.sql | 2 ++ .../test/resources/sqlgen/tablesample_4.sql | 2 ++ .../test/resources/sqlgen/tablesample_5.sql | 2 ++ .../test/resources/sqlgen/tablesample_6.sql | 2 ++ .../resources/sqlgen/three_child_union.sql | 4 ++++ .../test/resources/sqlgen/type_widening.sql | 2 ++ .../test/resources/sqlgen/union_distinct.sql | 2 ++ .../test/resources/sqlgen/window_basic_1.sql | 2 ++ .../test/resources/sqlgen/window_basic_2.sql | 3 +++ .../test/resources/sqlgen/window_basic_3.sql | 3 +++ .../resources/sqlgen/window_with_join.sql | 3 +++ .../window_with_the_same_window_with_agg.sql | 5 ++++ ...w_with_the_same_window_with_agg_filter.sql | 5 ++++ ...ith_the_same_window_with_agg_functions.sql | 4 ++++ ...w_with_the_same_window_with_agg_having.sql | 4 ++++ .../sql/catalyst/LogicalPlanToSQLSuite.scala | 23 ++++++++++++++----- 103 files changed, 302 insertions(+), 6 deletions(-) diff --git a/sql/hive/src/test/resources/sqlgen/agg1.sql b/sql/hive/src/test/resources/sqlgen/agg1.sql index 42a901fa70cf7..e768403c03a8c 100644 --- a/sql/hive/src/test/resources/sqlgen/agg1.sql +++ b/sql/hive/src/test/resources/sqlgen/agg1.sql @@ -1 +1,3 @@ +SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/agg2.sql b/sql/hive/src/test/resources/sqlgen/agg2.sql index 7cea3d6ddf2f5..653a4b98ddb10 100644 --- a/sql/hive/src/test/resources/sqlgen/agg2.sql +++ b/sql/hive/src/test/resources/sqlgen/agg2.sql @@ -1 +1,3 @@ +SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/agg3.sql b/sql/hive/src/test/resources/sqlgen/agg3.sql index 0c83dbbafbf46..a0b938d478bea 100644 --- a/sql/hive/src/test/resources/sqlgen/agg3.sql +++ b/sql/hive/src/test/resources/sqlgen/agg3.sql @@ -1 +1,3 @@ +SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql index 836023b44b878..0a7c47c014fcc 100644 --- a/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql +++ b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql @@ -1 +1,3 @@ +SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `(max(c) + count(a) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, count(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case.sql b/sql/hive/src/test/resources/sqlgen/case.sql index 03f5db6a08a12..772b7fbdc1332 100644 --- a/sql/hive/src/test/resources/sqlgen/case.sql +++ b/sql/hive/src/test/resources/sqlgen/case.sql @@ -1 +1,3 @@ +SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((id % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((`gen_attr` % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case_with_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_else.sql index c3c3ce62486ff..95feca6724301 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_else.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_else.sql @@ -1 +1,3 @@ +SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key.sql b/sql/hive/src/test/resources/sqlgen/case_with_key.sql index b45e9362b0a2f..41265ce58fc57 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_key.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_key.sql @@ -1 +1,3 @@ +SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql index 10a30b30767cd..b98db3ed904b2 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql @@ -1 +1,3 @@ +SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar ELSE baz END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" ELSE "baz" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/cluster_by.sql b/sql/hive/src/test/resources/sqlgen/cluster_by.sql index 2f7aadf6c5cf9..1f92caed73137 100644 --- a/sql/hive/src/test/resources/sqlgen/cluster_by.sql +++ b/sql/hive/src/test/resources/sqlgen/cluster_by.sql @@ -1 +1,3 @@ +SELECT id FROM parquet_t0 CLUSTER BY id +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql index e242db833ed84..9399e986249df 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql @@ -1 +1,3 @@ +SELECT id FROM json_parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`json_parquet_t0`) AS gen_subquery_0) AS json_parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql index f6c5b30438e24..5bb7c2ac8f307 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql @@ -1 +1,3 @@ +SELECT id FROM orc_parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`orc_parquet_t0`) AS gen_subquery_0) AS orc_parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql index 240e4e1e99a11..2bfc8cc35c2a4 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql @@ -1 +1,3 @@ +SELECT id FROM parquet_parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_parquet_t0`) AS gen_subquery_0) AS parquet_parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql index a8d3f3790966a..2188f09aaee61 100644 --- a/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql +++ b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql @@ -1 +1,3 @@ +SELECT COUNT(DISTINCT id) FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(DISTINCT id)` FROM (SELECT count(DISTINCT `gen_attr`) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by.sql index 59b3eb53eebcb..fec225dfedbe0 100644 --- a/sql/hive/src/test/resources/sqlgen/distribute_by.sql +++ b/sql/hive/src/test/resources/sqlgen/distribute_by.sql @@ -1 +1,3 @@ +SELECT id FROM parquet_t0 DISTRIBUTE BY id +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 DISTRIBUTE BY `gen_attr`) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql index 2f7aadf6c5cf9..58397a3abf459 100644 --- a/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql +++ b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql @@ -1 +1,3 @@ +SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/except.sql b/sql/hive/src/test/resources/sqlgen/except.sql index 72f91b2ea89e7..d2c2423164b26 100644 --- a/sql/hive/src/test/resources/sqlgen/except.sql +++ b/sql/hive/src/test/resources/sqlgen/except.sql @@ -1 +1,3 @@ +SELECT * FROM t0 EXCEPT SELECT * FROM t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) EXCEPT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql index 7ea8329cd240a..0f2f9bf3a64cc 100644 --- a/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql +++ b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql @@ -1 +1,3 @@ +SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a` FROM (SELECT `gen_attr` FROM (SELECT (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t WHERE (`gen_attr` > CAST(5 AS BIGINT))) AS t \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql index 6a5cd9a4ed98a..124b4b8057f14 100644 --- a/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql @@ -1 +1,7 @@ +SELECT EXPLODE(arr) AS val, id +FROM parquet_t3 +WHERE id > 2 +ORDER BY val, id +LIMIT 5 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 WHERE (`gen_attr` > CAST(2 AS BIGINT))) AS gen_subquery_1 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS parquet_t3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql index 618f5cda89755..887e1035077d0 100644 --- a/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql @@ -1 +1,9 @@ +SELECT val, id +FROM parquet_t3 +LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array +LATERAL VIEW EXPLODE(nested_array) exp1 AS val +WHERE val > 2 +ORDER BY val, id +LIMIT 5 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr` WHERE (`gen_attr` > CAST(2 AS BIGINT)) ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql index bea164543d368..dbcc227b90971 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql @@ -1 +1,3 @@ +SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql index cc01251f29629..462e6d8e05145 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql @@ -1 +1,3 @@ +SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql index ea0fb07f3fc62..a7133aabed14b 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql @@ -1 +1,3 @@ +SELECT EXPLODE(ARRAY(1,2,3)) FROM t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql index c3f5169edab80..e8f04984b1491 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql @@ -1 +1,3 @@ +SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql index 33190f5176f5e..42c49964ada68 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql @@ -1 +1,3 @@ +SELECT EXPLODE(arr), id FROM parquet_t3 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `col`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_1 AS `gen_attr`) AS parquet_t3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql index a30b9b3f2c062..1362cac712669 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql @@ -1 +1,3 @@ +SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `a` FROM (SELECT `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql index 7322e3751ef50..6ac07b88441ec 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql @@ -1 +1,3 @@ +SELECT EXPLODE(arr) FROM parquet_t3 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql index 2fa1e602697cf..f29d223988e7a 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql @@ -1 +1,3 @@ +SELECT EXPLODE(arr) AS val FROM parquet_t3 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql index a4088f4b6e247..2ccdcc830cee0 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql @@ -1 +1,5 @@ +SELECT exp.id, parquet_t3.id +FROM parquet_t3 +LATERAL VIEW EXPLODE(arr) exp AS id +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql index 54534180fac8f..a90c0189346b7 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql @@ -1 +1,5 @@ +SELECT exp.id, parquet_t3.id +FROM parquet_t3 +LATERAL VIEW OUTER EXPLODE(arr) exp AS id +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql index 0bfbd33d48ade..cbbccddf40cbb 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql @@ -1 +1,3 @@ +SELECT EXPLODE(ARRAY(1,2,3)) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql index e089cde78c536..759848721b60a 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql @@ -1 +1,3 @@ +SELECT EXPLODE(ARRAY(1,2,3)) AS val +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql index d68ccf0dd3f53..31d589979737f 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql @@ -1 +1,5 @@ +SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id() AS k3 +FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 +GROUPING SETS (key % 5, key - 5) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))))) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql index 3f5fa36723fdf..2674f46a00a77 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql @@ -1 +1,3 @@ +SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a, b) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`), (`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql index 11e8261c00caa..2e6971d3e78bb 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql @@ -1 +1,3 @@ +SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql index 11e8261c00caa..ceac2af7cf554 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql @@ -1 +1,3 @@ +SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (b) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql index 3715be5877115..f5548b8e54669 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql @@ -1 +1,3 @@ +SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (()) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS(()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql index 2012a32cfa94f..68103f260ebf6 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql @@ -1 +1,4 @@ +SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b +GROUPING SETS ((), (a), (a, b)) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((), (`gen_attr`), (`gen_attr`, `gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/in.sql b/sql/hive/src/test/resources/sqlgen/in.sql index 15de63d6be4f9..644301688e8fb 100644 --- a/sql/hive/src/test/resources/sqlgen/in.sql +++ b/sql/hive/src/test/resources/sqlgen/in.sql @@ -1 +1,3 @@ +SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 WHERE (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT)))) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/intersect.sql b/sql/hive/src/test/resources/sqlgen/intersect.sql index 0a847ae236777..c8a34215fb909 100644 --- a/sql/hive/src/test/resources/sqlgen/intersect.sql +++ b/sql/hive/src/test/resources/sqlgen/intersect.sql @@ -1 +1,3 @@ +SELECT * FROM t0 INTERSECT SELECT * FROM t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) INTERSECT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/join_2_tables.sql b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql index 54731e5454b9e..f712bf78103bf 100644 --- a/sql/hive/src/test/resources/sqlgen/join_2_tables.sql +++ b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql @@ -1 +1,6 @@ +SELECT COUNT(a.value), b.KEY, a.KEY +FROM parquet_t1 a, parquet_t1 b +GROUP BY a.KEY, b.KEY +HAVING MAX(a.KEY) > 0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)`, `gen_attr` AS `KEY`, `gen_attr` AS `KEY` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr`, `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql index 8b27dc4b8b63c..3f7560a27a79d 100644 --- a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql @@ -1 +1,5 @@ +SELECT c0, c1, c2 +FROM parquet_t3 +LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `c0`, `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql index 01657b5daf182..3024a9a6607b6 100644 --- a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql @@ -1 +1,5 @@ +SELECT a, b, c +FROM parquet_t3 +LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt AS a, b, c +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `c` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/multi_distinct.sql b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql index fdfd5bc29dfc6..5fb987020df35 100644 --- a/sql/hive/src/test/resources/sqlgen/multi_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql @@ -1 +1,3 @@ +SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `count(DISTINCT b)`, `gen_attr` AS `count(DISTINCT c)`, `gen_attr` AS `sum(d)` FROM (SELECT `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`) AS parquet_t2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql index 0c003ebe50cc0..42a9f77eb3575 100644 --- a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql @@ -1 +1,6 @@ +SELECT val, id +FROM parquet_t3 +LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array +LATERAL VIEW EXPLODE(nested_array) exp1 AS val +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql index 73a10f0831c75..e3adce19ec5c8 100644 --- a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql @@ -1 +1,6 @@ +SELECT val, id +FROM parquet_t3 +LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array +LATERAL VIEW OUTER EXPLODE(nested_array) exp1 AS val +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/not_in.sql b/sql/hive/src/test/resources/sqlgen/not_in.sql index 90f84e87c1541..42c486d24d6a5 100644 --- a/sql/hive/src/test/resources/sqlgen/not_in.sql +++ b/sql/hive/src/test/resources/sqlgen/not_in.sql @@ -1 +1,3 @@ +SELECT id FROM t0 WHERE id NOT IN (1, 2, 3) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT))))) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/not_like.sql b/sql/hive/src/test/resources/sqlgen/not_like.sql index aa84b3136f12d..a608030e2e753 100644 --- a/sql/hive/src/test/resources/sqlgen/not_like.sql +++ b/sql/hive/src/test/resources/sqlgen/not_like.sql @@ -1 +1,3 @@ +SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%' +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT CAST((`gen_attr` + CAST(5 AS BIGINT)) AS STRING) LIKE "1%")) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql index 35619fd995e75..5d2c12fb5422e 100644 --- a/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql +++ b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql @@ -1 +1,3 @@ +SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `(max(key) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) + key)` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql index aa07f6d4ed4f4..a5a223b67c581 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql @@ -1 +1,3 @@ +SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql index aa07f6d4ed4f4..2706d87a491ef 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql @@ -1 +1,3 @@ +SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql index 37324ff2dee76..f318b35fb2ae5 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql @@ -1 +1,3 @@ +SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql index 8e63566ea8c1c..0d7c6f0e5e36e 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql @@ -1 +1,3 @@ +SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql index e2f120b328e93..92d325e8b0bac 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql @@ -1 +1,3 @@ +SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql index 293f03e8e60a4..d6719092d2a11 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql @@ -1 +1,3 @@ +SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql index 67c453d862ae2..459819db8895e 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql @@ -1 +1,4 @@ +SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 +GROUP BY key % 5, key - 5 WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql index 8f615f7581100..cb0aec4b45590 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql @@ -1 +1,4 @@ +SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 +GROUP BY key % 5, key - 5 WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql index 02a97c54e17f3..9ea8505d84413 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql @@ -1 +1,5 @@ +SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 +FROM (SELECT key, key%2, key - 5 FROM parquet_t1) t GROUP BY key%5, key-5 +WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql index 20da245a9ee40..c76c62c43730c 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql @@ -1 +1,5 @@ +SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 +FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 +WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql index 506ed512af8eb..5bfe7d4819ecd 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql @@ -1 +1,3 @@ +SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql index bc6a64ca95a27..80da8c9748897 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql @@ -1 +1,3 @@ +SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql index e6c670e1deb4e..d5ae8910d376b 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql @@ -1 +1,3 @@ +SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql index 1bdc4f24e301f..df3a5af8fe31e 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql @@ -1 +1,3 @@ +SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql index 31416a74b646a..4da71e27d8f93 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql @@ -1 +1,3 @@ +SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql index 4599e9678e2e7..efd26af01ecba 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql @@ -1 +1,3 @@ +SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql index 042d94d87faf8..fcf767bdfb582 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql @@ -1 +1,3 @@ +SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping_id(a, b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql index 4f15a14e6c7f5..e6560c33e61c2 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql @@ -1 +1,3 @@ +SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql index f688d38ff91c1..ddf0d1f40585f 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql @@ -1 +1,3 @@ +SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql index 0e991b374704d..49c6f9be44c88 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql @@ -1 +1,5 @@ +SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid +FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 +WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql index da04100127ced..9d5057ac1da52 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql @@ -1 +1,5 @@ +SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid +FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 +WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql index 3268d4d786dce..f0e9077f4111f 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql @@ -1 +1,7 @@ +SELECT t.key - 5, cnt, SUM(cnt) +FROM (SELECT x.key, COUNT(*) as cnt +FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t +GROUP BY cnt, t.key - 5 +WITH ROLLUP +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql index d2b5f9938bcd3..276828cc27197 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql @@ -1 +1,7 @@ +SELECT t.key - 5, cnt, SUM(cnt) +FROM (SELECT x.key, COUNT(*) as cnt +FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t +GROUP BY cnt, t.key - 5 +WITH CUBE +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_2 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql index 57695c5bb0f1f..ee024aeb6483e 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql @@ -1 +1,3 @@ +SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql index 57695c5bb0f1f..d2937b56b53af 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql @@ -1 +1,3 @@ +SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql index 4505deafc713c..4ec7abce3b98d 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql @@ -1 +1,3 @@ +SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `d1`, `gen_attr` AS `d2`, `gen_attr` AS `d3`, `gen_attr` AS `d4` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` string, `gen_attr` string, `gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql index 85ed317551af9..8bcc9b7c7dbf8 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql @@ -1 +1,5 @@ +FROM +(FROM parquet_t1 SELECT TRANSFORM(key, value) USING 'cat' AS (thing1 int, thing2 string)) t +SELECT thing1 + 1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `(thing1 + 1)` FROM (SELECT (`gen_attr` + 1) AS `gen_attr` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` int, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql index 6b19aa5ad7a49..589dc65366c24 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql @@ -1 +1,7 @@ +SELECT TRANSFORM (key) +ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' +USING 'cat' AS (tKey) +ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' +FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql index bc3386c88431b..285e5530f5d60 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql @@ -1 +1,5 @@ +SELECT TRANSFORM (key) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' +USING 'cat' AS (tKey) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' +FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql index 26379228f978e..5a3a535fbd27c 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql @@ -1 +1,9 @@ +SELECT TRANSFORM (key, value) +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES('field.delim' = '|') +USING 'cat' AS (tKey, tValue) +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES('field.delim' = '|') +FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql index 6b3980858178f..370562313e12b 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql @@ -1 +1,7 @@ +SELECT TRANSFORM (key, value) +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +USING 'cat' AS (tKey, tValue) +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/select_distinct.sql b/sql/hive/src/test/resources/sqlgen/select_distinct.sql index 80421f23b626a..fcde86932ede5 100644 --- a/sql/hive/src/test/resources/sqlgen/select_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/select_distinct.sql @@ -1 +1,3 @@ +SELECT DISTINCT id FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT DISTINCT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/select_orc_table.sql b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql index 7b784f5398aaf..7c1a986fd354a 100644 --- a/sql/hive/src/test/resources/sqlgen/select_orc_table.sql +++ b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql @@ -1 +1,3 @@ +select * from orc_t +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`orc_t`) AS gen_subquery_0) AS orc_t \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql index 598cde0f6b34c..947e1f2208291 100644 --- a/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql +++ b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql @@ -1 +1,3 @@ +select * from parquet_t +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`parquet_t`) AS gen_subquery_0) AS parquet_t \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/self_join.sql b/sql/hive/src/test/resources/sqlgen/self_join.sql index 1e7889a514050..35f25536af6b6 100644 --- a/sql/hive/src/test/resources/sqlgen/self_join.sql +++ b/sql/hive/src/test/resources/sqlgen/self_join.sql @@ -1 +1,3 @@ +SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key` FROM (SELECT `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS x \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql index 2196bd2cd1438..851fa78ba2cc0 100644 --- a/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql +++ b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql @@ -1 +1,3 @@ +SELECT x.key, COUNT(*) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key group by x.key +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `count(1)` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS x \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql index 8a11430832d98..99dc88ac92e09 100644 --- a/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql +++ b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql @@ -1 +1,3 @@ +SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1 SORT BY `gen_attr` ASC) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_1.sql b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql index 777e7c85dfb2b..64c3f969942da 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_1.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql @@ -1 +1,3 @@ +SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_2.sql b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql index a334a28354254..171b8f04c3ed5 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_2.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql @@ -1 +1,3 @@ +SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_3.sql b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql index 9e29793353ac8..139691531312f 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_3.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql @@ -1 +1,3 @@ +SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_4.sql b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql index 08f770147849b..9c747372751a0 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_4.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql @@ -1 +1,3 @@ +SELECT * FROM t0 TABLESAMPLE(100 PERCENT) +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_5.sql b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql index 6ce6b45e2be64..3c1968681e17e 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_5.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql @@ -1 +1,3 @@ +SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS s \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_6.sql b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql index 6b902a48ead11..bdc7386672d55 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_6.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql @@ -1 +1,3 @@ +SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/three_child_union.sql b/sql/hive/src/test/resources/sqlgen/three_child_union.sql index f3b6e5e2ae93e..17d7872d3ef91 100644 --- a/sql/hive/src/test/resources/sqlgen/three_child_union.sql +++ b/sql/hive/src/test/resources/sqlgen/three_child_union.sql @@ -1 +1,5 @@ +SELECT id FROM parquet_t0 +UNION ALL SELECT id FROM parquet_t0 +UNION ALL SELECT id FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_2)) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/type_widening.sql b/sql/hive/src/test/resources/sqlgen/type_widening.sql index 276f129fd5ab4..f9a395c989ea1 100644 --- a/sql/hive/src/test/resources/sqlgen/type_widening.sql +++ b/sql/hive/src/test/resources/sqlgen/type_widening.sql @@ -1 +1,3 @@ +SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT CAST(CAST(`gen_attr` AS INT) AS BIGINT) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1)) AS parquet_t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/union_distinct.sql b/sql/hive/src/test/resources/sqlgen/union_distinct.sql index 095973f2f07c1..c58cb52fb75d2 100644 --- a/sql/hive/src/test/resources/sqlgen/union_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/union_distinct.sql @@ -1 +1,3 @@ +SELECT * FROM t0 UNION SELECT * FROM t0 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0) UNION DISTINCT (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_1.sql b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql index 9537f4c47fb46..bf98bcfcb2c7c 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_1.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql @@ -1 +1,3 @@ +SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `max(value) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)` FROM (SELECT `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_2.sql b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql index 3e27a1f7cd473..23669422cdca0 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_2.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql @@ -1 +1,4 @@ +SELECT key, value, ROUND(AVG(key) OVER (), 2) +FROM parquet_t1 ORDER BY key +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `round(avg(key) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), 2)` FROM (SELECT `gen_attr`, `gen_attr`, round(`gen_attr`, 2) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, avg(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2 ORDER BY `gen_attr` ASC) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_3.sql b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql index 3c7517cc86388..2bfb431d47112 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_3.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql @@ -1 +1,4 @@ +SELECT value, MAX(key + 1) OVER (PARTITION BY key % 5 ORDER BY key % 7) AS max +FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(7 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_join.sql b/sql/hive/src/test/resources/sqlgen/window_with_join.sql index c46a7fd890b32..91e71387b77f9 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_join.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_join.sql @@ -1 +1,4 @@ +SELECT x.key, MAX(y.key) OVER (PARTITION BY x.key % 5 ORDER BY x.key) +FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `max(key) OVER (PARTITION BY (key % CAST(5 AS BIGINT)) ORDER BY key ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS gen_subquery_2) AS gen_subquery_3) AS x \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql index c5b7b56dd63c7..468d0237e4efc 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql @@ -1 +1,6 @@ +SELECT key, value, +DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, +COUNT(key) +FROM parquet_t1 GROUP BY key, value +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `count(key)` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql index 0ccf904c79493..8bd958844c0f6 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql @@ -1 +1,6 @@ +SELECT key, value, +DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, +COUNT(key) OVER(DISTRIBUTE BY key SORT BY key, value) AS ca +FROM parquet_t1 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `ca` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr`, count(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql index 105e79f43f734..69cf7175932ac 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql @@ -1 +1,5 @@ +SELECT key, value, +MAX(value) OVER (PARTITION BY key % 5 ORDER BY key) AS max +FROM parquet_t1 GROUP BY key, value +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql index a58ea7d50956e..c8a475c476715 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql @@ -1 +1,5 @@ +SELECT key, value, +MAX(value) OVER (PARTITION BY key % 5 ORDER BY key DESC) AS max +FROM parquet_t1 GROUP BY key, value HAVING key > 5 +-------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(5 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index bdf5dafa1f379..9296c20bad059 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -26,6 +26,12 @@ import org.apache.spark.sql.Column import org.apache.spark.sql.functions._ import org.apache.spark.sql.test.SQLTestUtils +/** + * A testsuite for LogicalPlan-to-SQL conversion. + * + * To regenerate new answer files, run this suite after making `saveQuery` flag `true`. + * After regeneration, restore the flag to `false` and run again to check the tests pass again. + */ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { import testImplicits._ @@ -87,16 +93,21 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { * Note that there exists a normalization for both arguments for the convenience. * - Remove the id from the generated attributes, e.g., `gen_attr_1` -> `gen_attr`. */ - private def checkSQLStructure(convertedSQL: String, answerFile: String): Unit = { + private def checkSQLStructure(originalSQL: String, convertedSQL: String, answerFile: String) = { val normalizedGenSQL = convertedSQL.replaceAll("`gen_attr_\\d+`", "`gen_attr`") if (answerFile != null) { val path = s"src/test/resources/sqlgen/$answerFile.sql" + val separator = "-" * 80 if (saveQuery) { - Files.write(Paths.get(path), normalizedGenSQL.getBytes(StandardCharsets.UTF_8)) + val answerText = s"${originalSQL.trim()}\n${separator}\n$normalizedGenSQL" + Files.write(Paths.get(path), answerText.getBytes(StandardCharsets.UTF_8)) } else { - val answerSQL = new String(Files.readAllBytes(Paths.get(path)), StandardCharsets.UTF_8) - val normalizedExpectSQL = answerSQL.replaceAll("`gen_attr_\\d+`", "`gen_attr`") - assert(normalizedGenSQL == normalizedExpectSQL) + val answerText = new String(Files.readAllBytes(Paths.get(path)), StandardCharsets.UTF_8) + val sqls = answerText.split(separator) + if (sqls.length == 2) { + val normalizedExpectSQL = sqls(1).trim() + assert(normalizedGenSQL == normalizedExpectSQL) + } } } } @@ -117,7 +128,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, e) } - checkSQLStructure(convertedSQL, answerFile) + checkSQLStructure(hiveQl, convertedSQL, answerFile) try { checkAnswer(sql(convertedSQL), df) From 6df0c187245f1329de2732a844d6edede9440fb4 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sun, 17 Jul 2016 17:24:26 -0700 Subject: [PATCH 4/8] Rename checkHiveQl with checkSQL and add a newline at the end of the file. --- sql/hive/src/test/resources/sqlgen/agg1.sql | 2 +- sql/hive/src/test/resources/sqlgen/agg2.sql | 2 +- sql/hive/src/test/resources/sqlgen/agg3.sql | 2 +- .../sqlgen/aggregate_functions_and_window.sql | 2 +- sql/hive/src/test/resources/sqlgen/case.sql | 2 +- .../test/resources/sqlgen/case_with_else.sql | 2 +- .../test/resources/sqlgen/case_with_key.sql | 2 +- .../sqlgen/case_with_key_and_else.sql | 2 +- .../src/test/resources/sqlgen/cluster_by.sql | 2 +- .../sqlgen/data_source_json_parquet_t0.sql | 2 +- .../sqlgen/data_source_orc_parquet_t0.sql | 2 +- .../sqlgen/data_source_parquet_parquet_t0.sql | 2 +- .../resources/sqlgen/distinct_aggregation.sql | 2 +- .../test/resources/sqlgen/distribute_by.sql | 2 +- .../sqlgen/distribute_by_with_sort_by.sql | 2 +- sql/hive/src/test/resources/sqlgen/except.sql | 2 +- .../sqlgen/filter_after_subquery.sql | 2 +- .../sqlgen/generate_with_other_1.sql | 2 +- .../sqlgen/generate_with_other_2.sql | 2 +- .../sqlgen/generator_in_lateral_view_1.sql | 2 +- .../sqlgen/generator_in_lateral_view_2.sql | 2 +- .../generator_non_referenced_table_1.sql | 2 +- .../generator_non_referenced_table_2.sql | 2 +- .../resources/sqlgen/generator_non_udtf_1.sql | 2 +- .../resources/sqlgen/generator_non_udtf_2.sql | 2 +- .../sqlgen/generator_referenced_table_1.sql | 2 +- .../sqlgen/generator_referenced_table_2.sql | 2 +- .../generator_with_ambiguous_names_1.sql | 2 +- .../generator_with_ambiguous_names_2.sql | 2 +- .../sqlgen/generator_without_from_1.sql | 2 +- .../sqlgen/generator_without_from_2.sql | 2 +- .../test/resources/sqlgen/grouping_sets_1.sql | 2 +- .../resources/sqlgen/grouping_sets_2_1.sql | 2 +- .../resources/sqlgen/grouping_sets_2_2.sql | 2 +- .../resources/sqlgen/grouping_sets_2_3.sql | 2 +- .../resources/sqlgen/grouping_sets_2_4.sql | 2 +- .../resources/sqlgen/grouping_sets_2_5.sql | 2 +- sql/hive/src/test/resources/sqlgen/in.sql | 2 +- .../src/test/resources/sqlgen/intersect.sql | 2 +- .../test/resources/sqlgen/join_2_tables.sql | 2 +- .../sqlgen/json_tuple_generator_1.sql | 2 +- .../sqlgen/json_tuple_generator_2.sql | 2 +- .../test/resources/sqlgen/multi_distinct.sql | 2 +- .../nested_generator_in_lateral_view_1.sql | 2 +- .../nested_generator_in_lateral_view_2.sql | 2 +- sql/hive/src/test/resources/sqlgen/not_in.sql | 2 +- .../src/test/resources/sqlgen/not_like.sql | 2 +- .../sqlgen/regular_expressions_and_window.sql | 2 +- .../test/resources/sqlgen/rollup_cube_1_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_1_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_2_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_2_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_3_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_3_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_4_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_4_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_5_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_5_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_6_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_6_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_6_3.sql | 2 +- .../test/resources/sqlgen/rollup_cube_6_4.sql | 2 +- .../test/resources/sqlgen/rollup_cube_6_5.sql | 2 +- .../test/resources/sqlgen/rollup_cube_6_6.sql | 2 +- .../test/resources/sqlgen/rollup_cube_7_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_7_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_7_3.sql | 2 +- .../test/resources/sqlgen/rollup_cube_8_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_8_2.sql | 2 +- .../test/resources/sqlgen/rollup_cube_9_1.sql | 2 +- .../test/resources/sqlgen/rollup_cube_9_2.sql | 2 +- .../sqlgen/script_transformation_1.sql | 2 +- .../sqlgen/script_transformation_2.sql | 2 +- .../script_transformation_alias_list.sql | 2 +- ...pt_transformation_alias_list_with_type.sql | 2 +- ...ipt_transformation_row_format_multiple.sql | 2 +- .../script_transformation_row_format_one.sql | 2 +- ...script_transformation_row_format_serde.sql | 2 +- ...ransformation_row_format_without_serde.sql | 2 +- .../test/resources/sqlgen/select_distinct.sql | 2 +- .../resources/sqlgen/select_orc_table.sql | 2 +- .../resources/sqlgen/select_parquet_table.sql | 2 +- .../src/test/resources/sqlgen/self_join.sql | 2 +- .../sqlgen/self_join_with_group_by.sql | 2 +- .../resources/sqlgen/sort_by_after_having.sql | 2 +- .../test/resources/sqlgen/tablesample_1.sql | 2 +- .../test/resources/sqlgen/tablesample_2.sql | 2 +- .../test/resources/sqlgen/tablesample_3.sql | 2 +- .../test/resources/sqlgen/tablesample_4.sql | 2 +- .../test/resources/sqlgen/tablesample_5.sql | 2 +- .../test/resources/sqlgen/tablesample_6.sql | 2 +- .../resources/sqlgen/three_child_union.sql | 2 +- .../test/resources/sqlgen/type_widening.sql | 2 +- .../test/resources/sqlgen/union_distinct.sql | 2 +- .../test/resources/sqlgen/window_basic_1.sql | 2 +- .../test/resources/sqlgen/window_basic_2.sql | 2 +- .../test/resources/sqlgen/window_basic_3.sql | 2 +- .../resources/sqlgen/window_with_join.sql | 2 +- .../window_with_the_same_window_with_agg.sql | 2 +- ...w_with_the_same_window_with_agg_filter.sql | 2 +- ...ith_the_same_window_with_agg_functions.sql | 2 +- ...w_with_the_same_window_with_agg_having.sql | 2 +- .../sql/catalyst/LogicalPlanToSQLSuite.scala | 222 +++++++++--------- 103 files changed, 213 insertions(+), 213 deletions(-) diff --git a/sql/hive/src/test/resources/sqlgen/agg1.sql b/sql/hive/src/test/resources/sqlgen/agg1.sql index e768403c03a8c..0c9088e39b70a 100644 --- a/sql/hive/src/test/resources/sqlgen/agg1.sql +++ b/sql/hive/src/test/resources/sqlgen/agg1.sql @@ -1,3 +1,3 @@ SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/agg2.sql b/sql/hive/src/test/resources/sqlgen/agg2.sql index 653a4b98ddb10..6cc737f1d0af0 100644 --- a/sql/hive/src/test/resources/sqlgen/agg2.sql +++ b/sql/hive/src/test/resources/sqlgen/agg2.sql @@ -1,3 +1,3 @@ SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/agg3.sql b/sql/hive/src/test/resources/sqlgen/agg3.sql index a0b938d478bea..f6430ca9e6e26 100644 --- a/sql/hive/src/test/resources/sqlgen/agg3.sql +++ b/sql/hive/src/test/resources/sqlgen/agg3.sql @@ -1,3 +1,3 @@ SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 \ No newline at end of file +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql index 0a7c47c014fcc..0e84ea72b6a7a 100644 --- a/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql +++ b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql @@ -1,3 +1,3 @@ SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `(max(c) + count(a) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, count(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file +SELECT `gen_attr` AS `(max(c) + count(a) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, count(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/case.sql b/sql/hive/src/test/resources/sqlgen/case.sql index 772b7fbdc1332..b989838f484c7 100644 --- a/sql/hive/src/test/resources/sqlgen/case.sql +++ b/sql/hive/src/test/resources/sqlgen/case.sql @@ -1,3 +1,3 @@ SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((id % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((`gen_attr` % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((id % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((`gen_attr` % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/case_with_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_else.sql index 95feca6724301..80ecc8973cf43 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_else.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_else.sql @@ -1,3 +1,3 @@ SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key.sql b/sql/hive/src/test/resources/sqlgen/case_with_key.sql index 41265ce58fc57..42cbc12986da3 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_key.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_key.sql @@ -1,3 +1,3 @@ SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql index b98db3ed904b2..efd69d31d53e9 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql @@ -1,3 +1,3 @@ SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar ELSE baz END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" ELSE "baz" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar ELSE baz END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" ELSE "baz" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/cluster_by.sql b/sql/hive/src/test/resources/sqlgen/cluster_by.sql index 1f92caed73137..f5ab489c5f96f 100644 --- a/sql/hive/src/test/resources/sqlgen/cluster_by.sql +++ b/sql/hive/src/test/resources/sqlgen/cluster_by.sql @@ -1,3 +1,3 @@ SELECT id FROM parquet_t0 CLUSTER BY id -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql index 9399e986249df..6d41eb0e7d86c 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql @@ -1,3 +1,3 @@ SELECT id FROM json_parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`json_parquet_t0`) AS gen_subquery_0) AS json_parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`json_parquet_t0`) AS gen_subquery_0) AS json_parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql index 5bb7c2ac8f307..ee792e98470df 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql @@ -1,3 +1,3 @@ SELECT id FROM orc_parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`orc_parquet_t0`) AS gen_subquery_0) AS orc_parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`orc_parquet_t0`) AS gen_subquery_0) AS orc_parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql index 2bfc8cc35c2a4..5899a10f96649 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql @@ -1,3 +1,3 @@ SELECT id FROM parquet_parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_parquet_t0`) AS gen_subquery_0) AS parquet_parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_parquet_t0`) AS gen_subquery_0) AS parquet_parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql index 2188f09aaee61..7cfc343c4049f 100644 --- a/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql +++ b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql @@ -1,3 +1,3 @@ SELECT COUNT(DISTINCT id) FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `count(DISTINCT id)` FROM (SELECT count(DISTINCT `gen_attr`) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `count(DISTINCT id)` FROM (SELECT count(DISTINCT `gen_attr`) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by.sql index fec225dfedbe0..a75b1907eaf39 100644 --- a/sql/hive/src/test/resources/sqlgen/distribute_by.sql +++ b/sql/hive/src/test/resources/sqlgen/distribute_by.sql @@ -1,3 +1,3 @@ SELECT id FROM parquet_t0 DISTRIBUTE BY id -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 DISTRIBUTE BY `gen_attr`) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 DISTRIBUTE BY `gen_attr`) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql index 58397a3abf459..e950f404a642b 100644 --- a/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql +++ b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql @@ -1,3 +1,3 @@ SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/except.sql b/sql/hive/src/test/resources/sqlgen/except.sql index d2c2423164b26..37a0eb843be5f 100644 --- a/sql/hive/src/test/resources/sqlgen/except.sql +++ b/sql/hive/src/test/resources/sqlgen/except.sql @@ -1,3 +1,3 @@ SELECT * FROM t0 EXCEPT SELECT * FROM t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) EXCEPT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) EXCEPT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql index 0f2f9bf3a64cc..02d5c5809b86a 100644 --- a/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql +++ b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql @@ -1,3 +1,3 @@ SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a` FROM (SELECT `gen_attr` FROM (SELECT (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t WHERE (`gen_attr` > CAST(5 AS BIGINT))) AS t \ No newline at end of file +SELECT `gen_attr` AS `a` FROM (SELECT `gen_attr` FROM (SELECT (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t WHERE (`gen_attr` > CAST(5 AS BIGINT))) AS t diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql index 124b4b8057f14..7974bea9fa44d 100644 --- a/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql @@ -4,4 +4,4 @@ WHERE id > 2 ORDER BY val, id LIMIT 5 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 WHERE (`gen_attr` > CAST(2 AS BIGINT))) AS gen_subquery_1 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS parquet_t3 \ No newline at end of file +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr`, gen_subquery_0.`gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 WHERE (`gen_attr` > CAST(2 AS BIGINT))) AS gen_subquery_1 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS parquet_t3 diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql index 887e1035077d0..e1f94be2765b1 100644 --- a/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql @@ -6,4 +6,4 @@ WHERE val > 2 ORDER BY val, id LIMIT 5 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr` WHERE (`gen_attr` > CAST(2 AS BIGINT)) ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr` WHERE (`gen_attr` > CAST(2 AS BIGINT)) ORDER BY `gen_attr` ASC, `gen_attr` ASC LIMIT 5) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql index dbcc227b90971..80f2a630c5215 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql @@ -1,3 +1,3 @@ SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql index 462e6d8e05145..6c5c228a81b2d 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql @@ -1,3 +1,3 @@ SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql index a7133aabed14b..a635aa05cf504 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(ARRAY(1,2,3)) FROM t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql index e8f04984b1491..0bef7e15fcb26 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql index 42c49964ada68..6e00cd6f384ad 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(arr), id FROM parquet_t3 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `col`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_1 AS `gen_attr`) AS parquet_t3 \ No newline at end of file +SELECT `gen_attr` AS `col`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_1 AS `gen_attr`) AS parquet_t3 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql index 1362cac712669..eb79317a30a62 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val`, `gen_attr` AS `a` FROM (SELECT `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val`, `gen_attr` AS `a` FROM (SELECT `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql index 6ac07b88441ec..05cfcbe3110d6 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(arr) FROM parquet_t3 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql index f29d223988e7a..05caca51397d9 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(arr) AS val FROM parquet_t3 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql index 2ccdcc830cee0..eb040dbce5f48 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql @@ -2,4 +2,4 @@ SELECT exp.id, parquet_t3.id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS id -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql index a90c0189346b7..1442c6e3e25f5 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql @@ -2,4 +2,4 @@ SELECT exp.id, parquet_t3.id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS id -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `id`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql index cbbccddf40cbb..5ff489f3927a1 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(ARRAY(1,2,3)) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 \ No newline at end of file +SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql index 759848721b60a..b0259f46d05a0 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql @@ -1,3 +1,3 @@ SELECT EXPLODE(ARRAY(1,2,3)) AS val -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 \ No newline at end of file +SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql index 31d589979737f..98834115e8b20 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql @@ -2,4 +2,4 @@ SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id() AS k3 FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 GROUPING SETS (key % 5, key - 5) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))))) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))))) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql index 2674f46a00a77..0848adce14d18 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a, b) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`), (`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`), (`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql index 2e6971d3e78bb..a29380633e970 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql index ceac2af7cf554..d13105cb78cc2 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (b) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql index f5548b8e54669..d1da52cc28e9c 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (()) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS(()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS(()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql index 68103f260ebf6..ae912d2216260 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql @@ -1,4 +1,4 @@ SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS ((), (a), (a, b)) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((), (`gen_attr`), (`gen_attr`, `gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((), (`gen_attr`), (`gen_attr`, `gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/in.sql b/sql/hive/src/test/resources/sqlgen/in.sql index 644301688e8fb..b74c05ec91774 100644 --- a/sql/hive/src/test/resources/sqlgen/in.sql +++ b/sql/hive/src/test/resources/sqlgen/in.sql @@ -1,3 +1,3 @@ SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 WHERE (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT)))) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 WHERE (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT)))) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/intersect.sql b/sql/hive/src/test/resources/sqlgen/intersect.sql index c8a34215fb909..d8c691fa2bc74 100644 --- a/sql/hive/src/test/resources/sqlgen/intersect.sql +++ b/sql/hive/src/test/resources/sqlgen/intersect.sql @@ -1,3 +1,3 @@ SELECT * FROM t0 INTERSECT SELECT * FROM t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) INTERSECT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) INTERSECT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/join_2_tables.sql b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql index f712bf78103bf..7c861ba28ccd6 100644 --- a/sql/hive/src/test/resources/sqlgen/join_2_tables.sql +++ b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql @@ -3,4 +3,4 @@ FROM parquet_t1 a, parquet_t1 b GROUP BY a.KEY, b.KEY HAVING MAX(a.KEY) > 0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `count(value)`, `gen_attr` AS `KEY`, `gen_attr` AS `KEY` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr`, `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file +SELECT `gen_attr` AS `count(value)`, `gen_attr` AS `KEY`, `gen_attr` AS `KEY` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr`, `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql index 3f7560a27a79d..d94d5beb4e846 100644 --- a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql @@ -2,4 +2,4 @@ SELECT c0, c1, c2 FROM parquet_t3 LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `c0`, `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt \ No newline at end of file +SELECT `gen_attr` AS `c0`, `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql index 3024a9a6607b6..0f4a51a4c1c8c 100644 --- a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql @@ -2,4 +2,4 @@ SELECT a, b, c FROM parquet_t3 LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt AS a, b, c -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `c` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `c` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW json_tuple(`gen_attr`, "f1", "f2", "f3") gen_subquery_1 AS `gen_attr`, `gen_attr`, `gen_attr`) AS jt diff --git a/sql/hive/src/test/resources/sqlgen/multi_distinct.sql b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql index 5fb987020df35..52eb124d4626f 100644 --- a/sql/hive/src/test/resources/sqlgen/multi_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql @@ -1,3 +1,3 @@ SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `count(DISTINCT b)`, `gen_attr` AS `count(DISTINCT c)`, `gen_attr` AS `sum(d)` FROM (SELECT `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`) AS parquet_t2 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `count(DISTINCT b)`, `gen_attr` AS `count(DISTINCT c)`, `gen_attr` AS `sum(d)` FROM (SELECT `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`) AS parquet_t2 diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql index 42a9f77eb3575..0bb8d54c7cf19 100644 --- a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql @@ -3,4 +3,4 @@ FROM parquet_t3 LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array LATERAL VIEW EXPLODE(nested_array) exp1 AS val -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql index e3adce19ec5c8..1f0ef458ced8f 100644 --- a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql @@ -3,4 +3,4 @@ FROM parquet_t3 LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array LATERAL VIEW OUTER EXPLODE(nested_array) exp1 AS val -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr` LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_3 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/not_in.sql b/sql/hive/src/test/resources/sqlgen/not_in.sql index 42c486d24d6a5..02b610bd308a9 100644 --- a/sql/hive/src/test/resources/sqlgen/not_in.sql +++ b/sql/hive/src/test/resources/sqlgen/not_in.sql @@ -1,3 +1,3 @@ SELECT id FROM t0 WHERE id NOT IN (1, 2, 3) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT))))) AS t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT))))) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/not_like.sql b/sql/hive/src/test/resources/sqlgen/not_like.sql index a608030e2e753..792f98c42baf5 100644 --- a/sql/hive/src/test/resources/sqlgen/not_like.sql +++ b/sql/hive/src/test/resources/sqlgen/not_like.sql @@ -1,3 +1,3 @@ SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%' -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT CAST((`gen_attr` + CAST(5 AS BIGINT)) AS STRING) LIKE "1%")) AS t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT CAST((`gen_attr` + CAST(5 AS BIGINT)) AS STRING) LIKE "1%")) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql index 5d2c12fb5422e..89d26140040b7 100644 --- a/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql +++ b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql @@ -1,3 +1,3 @@ SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `(max(key) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) + key)` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file +SELECT `gen_attr` AS `(max(key) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) + key)` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql index a5a223b67c581..1a32ac08a1881 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql @@ -1,3 +1,3 @@ SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql index 2706d87a491ef..6e1b0d921ce9b 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql @@ -1,3 +1,3 @@ SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql index f318b35fb2ae5..f363cc30b8b19 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql @@ -1,3 +1,3 @@ SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql index 0d7c6f0e5e36e..eeb2929acd2de 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql @@ -1,3 +1,3 @@ SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql index 92d325e8b0bac..4964f803c2958 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql @@ -1,3 +1,3 @@ SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql index d6719092d2a11..b87fbc5a674bd 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql @@ -1,3 +1,3 @@ SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql index 459819db8895e..2fb58565f79e8 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql @@ -1,4 +1,4 @@ SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 GROUP BY key % 5, key - 5 WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql index cb0aec4b45590..b297d4cb9d190 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql @@ -1,4 +1,4 @@ SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 GROUP BY key % 5, key - 5 WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql index 9ea8505d84413..12c927ebd5c2d 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql @@ -2,4 +2,4 @@ SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - FROM (SELECT key, key%2, key - 5 FROM parquet_t1) t GROUP BY key%5, key-5 WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql index c76c62c43730c..17c1aa188b3f2 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql @@ -2,4 +2,4 @@ SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `cnt`, `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `k3` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(2 AS BIGINT)) AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY (`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT)), (`gen_attr` - CAST(5 AS BIGINT))), ((`gen_attr` % CAST(5 AS BIGINT))), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql index 5bfe7d4819ecd..88f5558ed0921 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql index 80da8c9748897..e7d4ca13d5fda 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql index d5ae8910d376b..2b0d4f4acae1b 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql index df3a5af8fe31e..9b9d581be1ae3 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql @@ -1,3 +1,3 @@ SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql index 4da71e27d8f93..a030c2670aa02 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql @@ -1,3 +1,3 @@ SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql index efd26af01ecba..d49d566f3d1be 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql @@ -1,3 +1,3 @@ SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql index fcf767bdfb582..b9254c488ce14 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql @@ -1,3 +1,3 @@ SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping_id(a, b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping_id(a, b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql index e6560c33e61c2..c78384b572bf9 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql @@ -1,3 +1,3 @@ SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql index ddf0d1f40585f..6d4997c9767c0 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql @@ -1,3 +1,3 @@ SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql index 49c6f9be44c88..1f894c3d7af85 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql @@ -2,4 +2,4 @@ SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql index 9d5057ac1da52..1af925d887ddd 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql @@ -2,4 +2,4 @@ SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `k1`, `gen_attr` AS `k2`, `gen_attr` AS `hgid` FROM (SELECT `gen_attr` AS `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, hash(grouping_id()) AS `gen_attr` FROM (SELECT hash(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql index f0e9077f4111f..527e7fd1b3a04 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql @@ -4,4 +4,4 @@ FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t GROUP BY cnt, t.key - 5 WITH ROLLUP -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_2 \ No newline at end of file +SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ())) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql index 276828cc27197..c4aa704372ef1 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql @@ -4,4 +4,4 @@ FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t GROUP BY cnt, t.key - 5 WITH CUBE -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_2 \ No newline at end of file +SELECT `gen_attr` AS `(key - CAST(5 AS BIGINT))`, `gen_attr` AS `cnt`, `gen_attr` AS `sum(cnt)` FROM (SELECT (`gen_attr` - CAST(5 AS BIGINT)) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS t GROUP BY `gen_attr`, (`gen_attr` - CAST(5 AS BIGINT)) GROUPING SETS((`gen_attr`, (`gen_attr` - CAST(5 AS BIGINT))), (`gen_attr`), ((`gen_attr` - CAST(5 AS BIGINT))), ())) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql index ee024aeb6483e..0a8af983eb7f3 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql @@ -1,3 +1,3 @@ SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql index d2937b56b53af..42c4d6fe9cacc 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql @@ -1,3 +1,3 @@ SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql index 4ec7abce3b98d..cbe333d4e64e4 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql @@ -1,3 +1,3 @@ SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `d1`, `gen_attr` AS `d2`, `gen_attr` AS `d3`, `gen_attr` AS `d4` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` string, `gen_attr` string, `gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `d1`, `gen_attr` AS `d2`, `gen_attr` AS `d3`, `gen_attr` AS `d4` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` string, `gen_attr` string, `gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql index 8bcc9b7c7dbf8..fa00291c75580 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql @@ -2,4 +2,4 @@ FROM (FROM parquet_t1 SELECT TRANSFORM(key, value) USING 'cat' AS (thing1 int, thing2 string)) t SELECT thing1 + 1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `(thing1 + 1)` FROM (SELECT (`gen_attr` + 1) AS `gen_attr` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` int, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `(thing1 + 1)` FROM (SELECT (`gen_attr` + 1) AS `gen_attr` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` int, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql index 589dc65366c24..cb33dd4f16368 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql @@ -4,4 +4,4 @@ USING 'cat' AS (tKey) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql index 285e5530f5d60..f916acd821cba 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql @@ -2,4 +2,4 @@ SELECT TRANSFORM (key) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' USING 'cat' AS (tKey) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `tKey` FROM (SELECT TRANSFORM (`gen_attr`) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' USING 'cat' AS (`gen_attr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql index 5a3a535fbd27c..608aad1fa1aa5 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql @@ -6,4 +6,4 @@ ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql index 370562313e12b..f6d48d43d1a1e 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql @@ -4,4 +4,4 @@ USING 'cat' AS (tKey, tValue) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 \ No newline at end of file +SELECT `gen_attr` AS `tKey`, `gen_attr` AS `tValue` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' USING 'cat' AS (`gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/select_distinct.sql b/sql/hive/src/test/resources/sqlgen/select_distinct.sql index fcde86932ede5..4aa7c21525e3f 100644 --- a/sql/hive/src/test/resources/sqlgen/select_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/select_distinct.sql @@ -1,3 +1,3 @@ SELECT DISTINCT id FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT DISTINCT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT DISTINCT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/select_orc_table.sql b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql index 7c1a986fd354a..e336b122b8b38 100644 --- a/sql/hive/src/test/resources/sqlgen/select_orc_table.sql +++ b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql @@ -1,3 +1,3 @@ select * from orc_t -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`orc_t`) AS gen_subquery_0) AS orc_t \ No newline at end of file +SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`orc_t`) AS gen_subquery_0) AS orc_t diff --git a/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql index 947e1f2208291..28fbc9b3df048 100644 --- a/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql +++ b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql @@ -1,3 +1,3 @@ select * from parquet_t -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`parquet_t`) AS gen_subquery_0) AS parquet_t \ No newline at end of file +SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`parquet_t`) AS gen_subquery_0) AS parquet_t diff --git a/sql/hive/src/test/resources/sqlgen/self_join.sql b/sql/hive/src/test/resources/sqlgen/self_join.sql index 35f25536af6b6..1dbae69d4f49a 100644 --- a/sql/hive/src/test/resources/sqlgen/self_join.sql +++ b/sql/hive/src/test/resources/sqlgen/self_join.sql @@ -1,3 +1,3 @@ SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key` FROM (SELECT `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS x \ No newline at end of file +SELECT `gen_attr` AS `key` FROM (SELECT `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS x diff --git a/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql index 851fa78ba2cc0..4c41163711d55 100644 --- a/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql +++ b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql @@ -1,3 +1,3 @@ SELECT x.key, COUNT(*) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key group by x.key -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `count(1)` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS x \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `count(1)` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS x diff --git a/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql index 99dc88ac92e09..8ed09558d7929 100644 --- a/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql +++ b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql @@ -1,3 +1,3 @@ SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1 SORT BY `gen_attr` ASC) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file +SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1 SORT BY `gen_attr` ASC) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_1.sql b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql index 64c3f969942da..31891f41872f8 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_1.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql @@ -1,3 +1,3 @@ SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_2.sql b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql index 171b8f04c3ed5..656c41c951036 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_2.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql @@ -1,3 +1,3 @@ SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_3.sql b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql index 139691531312f..2be8aec02207e 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_3.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql @@ -1,3 +1,3 @@ SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_4.sql b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql index 9c747372751a0..316410984b3dd 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_4.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql @@ -1,3 +1,3 @@ SELECT * FROM t0 TABLESAMPLE(100 PERCENT) -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_5.sql b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql index 3c1968681e17e..4c0ca60eede06 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_5.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql @@ -1,3 +1,3 @@ SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS s \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS s diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_6.sql b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql index bdc7386672d55..defb51827f205 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_6.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql @@ -1,3 +1,3 @@ SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/three_child_union.sql b/sql/hive/src/test/resources/sqlgen/three_child_union.sql index 17d7872d3ef91..5ec9d52d2b4e5 100644 --- a/sql/hive/src/test/resources/sqlgen/three_child_union.sql +++ b/sql/hive/src/test/resources/sqlgen/three_child_union.sql @@ -2,4 +2,4 @@ SELECT id FROM parquet_t0 UNION ALL SELECT id FROM parquet_t0 UNION ALL SELECT id FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_2)) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1) UNION ALL (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_2)) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/type_widening.sql b/sql/hive/src/test/resources/sqlgen/type_widening.sql index f9a395c989ea1..928c728210ece 100644 --- a/sql/hive/src/test/resources/sqlgen/type_widening.sql +++ b/sql/hive/src/test/resources/sqlgen/type_widening.sql @@ -1,3 +1,3 @@ SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT CAST(CAST(`gen_attr` AS INT) AS BIGINT) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1)) AS parquet_t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT CAST(CAST(`gen_attr` AS INT) AS BIGINT) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1)) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/union_distinct.sql b/sql/hive/src/test/resources/sqlgen/union_distinct.sql index c58cb52fb75d2..22a374f4b401b 100644 --- a/sql/hive/src/test/resources/sqlgen/union_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/union_distinct.sql @@ -1,3 +1,3 @@ SELECT * FROM t0 UNION SELECT * FROM t0 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0) UNION DISTINCT (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 \ No newline at end of file +SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0) UNION DISTINCT (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_1.sql b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql index bf98bcfcb2c7c..9f0792584a0c8 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_1.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql @@ -1,3 +1,3 @@ SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `max(value) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)` FROM (SELECT `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 \ No newline at end of file +SELECT `gen_attr` AS `max(value) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)` FROM (SELECT `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_2.sql b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql index 23669422cdca0..c3291490f4a84 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_2.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql @@ -1,4 +1,4 @@ SELECT key, value, ROUND(AVG(key) OVER (), 2) FROM parquet_t1 ORDER BY key -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `round(avg(key) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), 2)` FROM (SELECT `gen_attr`, `gen_attr`, round(`gen_attr`, 2) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, avg(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2 ORDER BY `gen_attr` ASC) AS parquet_t1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `round(avg(key) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), 2)` FROM (SELECT `gen_attr`, `gen_attr`, round(`gen_attr`, 2) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, avg(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2 ORDER BY `gen_attr` ASC) AS parquet_t1 diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_3.sql b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql index 2bfb431d47112..e3ffef02bebc1 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_3.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql @@ -1,4 +1,4 @@ SELECT value, MAX(key + 1) OVER (PARTITION BY key % 5 ORDER BY key % 7) AS max FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(7 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file +SELECT `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, (`gen_attr` % CAST(7 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 diff --git a/sql/hive/src/test/resources/sqlgen/window_with_join.sql b/sql/hive/src/test/resources/sqlgen/window_with_join.sql index 91e71387b77f9..8a5d5d073329a 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_join.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_join.sql @@ -1,4 +1,4 @@ SELECT x.key, MAX(y.key) OVER (PARTITION BY x.key % 5 ORDER BY x.key) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `max(key) OVER (PARTITION BY (key % CAST(5 AS BIGINT)) ORDER BY key ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS gen_subquery_2) AS gen_subquery_3) AS x \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `max(key) OVER (PARTITION BY (key % CAST(5 AS BIGINT)) ORDER BY key ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, gen_subquery_2.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS gen_subquery_2) AS gen_subquery_3) AS x diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql index 468d0237e4efc..89c0b7be9a997 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql @@ -3,4 +3,4 @@ DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, COUNT(key) FROM parquet_t1 GROUP BY key, value -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `count(key)` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `count(key)` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql index 8bd958844c0f6..6d5cb308b0636 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql @@ -3,4 +3,4 @@ DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, COUNT(key) OVER(DISTRIBUTE BY key SORT BY key, value) AS ca FROM parquet_t1 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `ca` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr`, count(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `dr`, `gen_attr` AS `ca` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, DENSE_RANK() OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr`, count(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql index 69cf7175932ac..25c068876b951 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql @@ -2,4 +2,4 @@ SELECT key, value, MAX(value) OVER (PARTITION BY key % 5 ORDER BY key) AS max FROM parquet_t1 GROUP BY key, value -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql index c8a475c476715..730c380cef3fa 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql @@ -2,4 +2,4 @@ SELECT key, value, MAX(value) OVER (PARTITION BY key % 5 ORDER BY key DESC) AS max FROM parquet_t1 GROUP BY key, value HAVING key > 5 -------------------------------------------------------------------------------- -SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(5 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 \ No newline at end of file +SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `max` FROM (SELECT `gen_attr`, `gen_attr`, `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ORDER BY `gen_attr` DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS `gen_attr` FROM (SELECT `gen_attr`, `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` HAVING (`gen_attr` > CAST(5 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2) AS parquet_t1 diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index 9296c20bad059..d30aa9f3fbbc2 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -99,7 +99,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { val path = s"src/test/resources/sqlgen/$answerFile.sql" val separator = "-" * 80 if (saveQuery) { - val answerText = s"${originalSQL.trim()}\n${separator}\n$normalizedGenSQL" + val answerText = s"${originalSQL.trim()}\n${separator}\n$normalizedGenSQL\n" Files.write(Paths.get(path), answerText.getBytes(StandardCharsets.UTF_8)) } else { val answerText = new String(Files.readAllBytes(Paths.get(path)), StandardCharsets.UTF_8) @@ -112,8 +112,8 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } - private def checkHiveQl(hiveQl: String, answerFile: String = null): Unit = { - val df = sql(hiveQl) + private def checkSQL(sqlString: String, answerFile: String = null): Unit = { + val df = sql(sqlString) val convertedSQL = try new SQLBuilder(df).toSQL catch { case NonFatal(e) => @@ -121,14 +121,14 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { s"""Cannot convert the following HiveQL query plan back to SQL query string: | |# Original HiveQL query string: - |$hiveQl + |$sqlString | |# Resolved query plan: |${df.queryExecution.analyzed.treeString} """.stripMargin, e) } - checkSQLStructure(hiveQl, convertedSQL, answerFile) + checkSQLStructure(sqlString, convertedSQL, answerFile) try { checkAnswer(sql(convertedSQL), df) @@ -140,7 +140,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |$convertedSQL | |# Original HiveQL query string: - |$hiveQl + |$sqlString | |# Resolved query plan: |${df.queryExecution.analyzed.treeString} @@ -149,23 +149,23 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("in") { - checkHiveQl("SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3)", "in") + checkSQL("SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3)", "in") } test("not in") { - checkHiveQl("SELECT id FROM t0 WHERE id NOT IN (1, 2, 3)", "not_in") + checkSQL("SELECT id FROM t0 WHERE id NOT IN (1, 2, 3)", "not_in") } test("not like") { - checkHiveQl("SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%'", "not_like") + checkSQL("SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%'", "not_like") } test("aggregate function in having clause") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0", "agg1") + checkSQL("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0", "agg1") } test("aggregate function in order by clause") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key)", "agg2") + checkSQL("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key)", "agg2") } // When there are multiple aggregate functions in ORDER BY clause, all of them are extracted into @@ -173,20 +173,20 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // execution since these aliases have different expression ID. But this introduces name collision // when converting resolved plans back to SQL query strings as expression IDs are stripped. test("aggregate function in order by clause with multiple order keys") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key)", "agg3") + checkSQL("SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key)", "agg3") } test("type widening in union") { - checkHiveQl("SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0", + checkSQL("SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0", "type_widening") } test("union distinct") { - checkHiveQl("SELECT * FROM t0 UNION SELECT * FROM t0", "union_distinct") + checkSQL("SELECT * FROM t0 UNION SELECT * FROM t0", "union_distinct") } test("three-child union") { - checkHiveQl( + checkSQL( """ |SELECT id FROM parquet_t0 |UNION ALL SELECT id FROM parquet_t0 @@ -196,44 +196,44 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("intersect") { - checkHiveQl("SELECT * FROM t0 INTERSECT SELECT * FROM t0", "intersect") + checkSQL("SELECT * FROM t0 INTERSECT SELECT * FROM t0", "intersect") } test("except") { - checkHiveQl("SELECT * FROM t0 EXCEPT SELECT * FROM t0", "except") + checkSQL("SELECT * FROM t0 EXCEPT SELECT * FROM t0", "except") } test("self join") { - checkHiveQl("SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key", "self_join") + checkSQL("SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key", "self_join") } test("self join with group by") { - checkHiveQl( + checkSQL( "SELECT x.key, COUNT(*) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key group by x.key", "self_join_with_group_by") } test("case") { - checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0", + checkSQL("SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0", "case") } test("case with else") { - checkHiveQl("SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0", "case_with_else") + checkSQL("SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0", "case_with_else") } test("case with key") { - checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0", + checkSQL("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0", "case_with_key") } test("case with key and else") { - checkHiveQl("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0", + checkSQL("SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0", "case_with_key_and_else") } test("select distinct without aggregate functions") { - checkHiveQl("SELECT DISTINCT id FROM parquet_t0", "select_distinct") + checkSQL("SELECT DISTINCT id FROM parquet_t0", "select_distinct") } test("rollup/cube #1") { @@ -257,42 +257,42 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // FROM `default`.`t1` // GROUP BY (`t1`.`key` % CAST(5 AS BIGINT)) // GROUPING SETS (((`t1`.`key` % CAST(5 AS BIGINT))), ()) - checkHiveQl( + checkSQL( "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH ROLLUP", "rollup_cube_1_1") - checkHiveQl( + checkSQL( "SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH CUBE", "rollup_cube_1_2") } test("rollup/cube #2") { - checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP", + checkSQL("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP", "rollup_cube_2_1") - checkHiveQl("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE", + checkSQL("SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE", "rollup_cube_2_2") } test("rollup/cube #3") { - checkHiveQl( + checkSQL( "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH ROLLUP", "rollup_cube_3_1") - checkHiveQl( + checkSQL( "SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH CUBE", "rollup_cube_3_2") } test("rollup/cube #4") { - checkHiveQl( + checkSQL( s""" |SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 |GROUP BY key % 5, key - 5 WITH ROLLUP """.stripMargin, "rollup_cube_4_1") - checkHiveQl( + checkSQL( s""" |SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 |GROUP BY key % 5, key - 5 WITH CUBE @@ -301,7 +301,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("rollup/cube #5") { - checkHiveQl( + checkSQL( s""" |SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 |FROM (SELECT key, key%2, key - 5 FROM parquet_t1) t GROUP BY key%5, key-5 @@ -309,7 +309,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, "rollup_cube_5_1") - checkHiveQl( + checkSQL( s""" |SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 |FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 @@ -319,39 +319,39 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("rollup/cube #6") { - checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", + checkSQL("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", "rollup_cube_6_1") - checkHiveQl("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", + checkSQL("SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", "rollup_cube_6_2") - checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", + checkSQL("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b", "rollup_cube_6_3") - checkHiveQl("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", + checkSQL("SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b", "rollup_cube_6_4") - checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP", + checkSQL("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP", "rollup_cube_6_5") - checkHiveQl("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE", + checkSQL("SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE", "rollup_cube_6_6") } test("rollup/cube #7") { - checkHiveQl("SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b)", + checkSQL("SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b)", "rollup_cube_7_1") - checkHiveQl("SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b)", + checkSQL("SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b)", "rollup_cube_7_2") - checkHiveQl("SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b)", + checkSQL("SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b)", "rollup_cube_7_3") } test("rollup/cube #8") { // grouping_id() is part of another expression - checkHiveQl( + checkSQL( s""" |SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid |FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 @@ -359,7 +359,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, "rollup_cube_8_1") - checkHiveQl( + checkSQL( s""" |SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid |FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 @@ -370,7 +370,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { test("rollup/cube #9") { // self join is used as the child node of ROLLUP/CUBE with replaced quantifiers - checkHiveQl( + checkSQL( s""" |SELECT t.key - 5, cnt, SUM(cnt) |FROM (SELECT x.key, COUNT(*) as cnt @@ -380,7 +380,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, "rollup_cube_9_1") - checkHiveQl( + checkSQL( s""" |SELECT t.key - 5, cnt, SUM(cnt) |FROM (SELECT x.key, COUNT(*) as cnt @@ -392,7 +392,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("grouping sets #1") { - checkHiveQl( + checkSQL( s""" |SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id() AS k3 |FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 @@ -402,23 +402,23 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("grouping sets #2") { - checkHiveQl( + checkSQL( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a, b) ORDER BY a, b", "grouping_sets_2_1") - checkHiveQl( + checkSQL( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a) ORDER BY a, b", "grouping_sets_2_2") - checkHiveQl( + checkSQL( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (b) ORDER BY a, b", "grouping_sets_2_3") - checkHiveQl( + checkSQL( "SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (()) ORDER BY a, b", "grouping_sets_2_4") - checkHiveQl( + checkSQL( s""" |SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b |GROUPING SETS ((), (a), (a, b)) ORDER BY a, b @@ -427,25 +427,25 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("cluster by") { - checkHiveQl("SELECT id FROM parquet_t0 CLUSTER BY id", "cluster_by") + checkSQL("SELECT id FROM parquet_t0 CLUSTER BY id", "cluster_by") } test("distribute by") { - checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id", "distribute_by") + checkSQL("SELECT id FROM parquet_t0 DISTRIBUTE BY id", "distribute_by") } test("distribute by with sort by") { - checkHiveQl("SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id", + checkSQL("SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id", "distribute_by_with_sort_by") } test("SPARK-13720: sort by after having") { - checkHiveQl("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key", + checkSQL("SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key", "sort_by_after_having") } test("distinct aggregation") { - checkHiveQl("SELECT COUNT(DISTINCT id) FROM parquet_t0", "distinct_aggregation") + checkSQL("SELECT COUNT(DISTINCT id) FROM parquet_t0", "distinct_aggregation") } test("TABLESAMPLE") { @@ -454,33 +454,33 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { // +- Subquery s // +- Subquery parquet_t0 // +- Relation[id#2L] ParquetRelation - checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s", "tablesample_1") + checkSQL("SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s", "tablesample_1") // Project [id#2L] // +- Sample 0.0, 1.0, false, ... // +- Subquery parquet_t0 // +- Relation[id#2L] ParquetRelation - checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT)", "tablesample_2") + checkSQL("SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT)", "tablesample_2") // Project [id#21L] // +- Sample 0.0, 1.0, false, ... // +- MetastoreRelation default, t0, Some(s) - checkHiveQl("SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s", "tablesample_3") + checkSQL("SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s", "tablesample_3") // Project [id#24L] // +- Sample 0.0, 1.0, false, ... // +- MetastoreRelation default, t0, None - checkHiveQl("SELECT * FROM t0 TABLESAMPLE(100 PERCENT)", "tablesample_4") + checkSQL("SELECT * FROM t0 TABLESAMPLE(100 PERCENT)", "tablesample_4") // When a sampling fraction is not 100%, the returned results are random. // Thus, added an always-false filter here to check if the generated plan can be successfully // executed. - checkHiveQl("SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0", "tablesample_5") - checkHiveQl("SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0", "tablesample_6") + checkSQL("SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0", "tablesample_5") + checkSQL("SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0", "tablesample_6") } test("multi-distinct columns") { - checkHiveQl("SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a", + checkSQL("SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a", "multi_distinct") } @@ -489,25 +489,25 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { val tableName = s"${format}_parquet_t0" withTable(tableName) { spark.range(10).write.format(format).saveAsTable(tableName) - checkHiveQl(s"SELECT id FROM $tableName", s"data_source_$tableName") + checkSQL(s"SELECT id FROM $tableName", s"data_source_$tableName") } } } test("script transformation - schemaless") { - checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2", + checkSQL("SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2", "script_transformation_1") - checkHiveQl("SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2", + checkSQL("SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2", "script_transformation_2") } test("script transformation - alias list") { - checkHiveQl("SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2", + checkSQL("SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2", "script_transformation_alias_list") } test("script transformation - alias list with type") { - checkHiveQl( + checkSQL( """FROM |(FROM parquet_t1 SELECT TRANSFORM(key, value) USING 'cat' AS (thing1 int, thing2 string)) t |SELECT thing1 + 1 @@ -516,7 +516,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("script transformation - row format delimited clause with only one format property") { - checkHiveQl( + checkSQL( """SELECT TRANSFORM (key) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' |USING 'cat' AS (tKey) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' |FROM parquet_t1 @@ -525,7 +525,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("script transformation - row format delimited clause with multiple format properties") { - checkHiveQl( + checkSQL( """SELECT TRANSFORM (key) |ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' |USING 'cat' AS (tKey) @@ -536,7 +536,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("script transformation - row format serde clauses with SERDEPROPERTIES") { - checkHiveQl( + checkSQL( """SELECT TRANSFORM (key, value) |ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' |WITH SERDEPROPERTIES('field.delim' = '|') @@ -549,7 +549,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("script transformation - row format serde clauses without SERDEPROPERTIES") { - checkHiveQl( + checkSQL( """SELECT TRANSFORM (key, value) |ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' |USING 'cat' AS (tKey, tValue) @@ -566,7 +566,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { test("named expression in column names shouldn't be quoted") { def checkColumnNames(query: String, expectedColNames: String*): Unit = { - checkHiveQl(query) + checkSQL(query) assert(sql(query).columns === expectedColNames) } @@ -623,16 +623,16 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window basic") { - checkHiveQl("SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1", "window_basic_1") + checkSQL("SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1", "window_basic_1") - checkHiveQl( + checkSQL( """ |SELECT key, value, ROUND(AVG(key) OVER (), 2) |FROM parquet_t1 ORDER BY key """.stripMargin, "window_basic_2") - checkHiveQl( + checkSQL( """ |SELECT value, MAX(key + 1) OVER (PARTITION BY key % 5 ORDER BY key % 7) AS max |FROM parquet_t1 @@ -641,7 +641,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("multiple window functions in one expression") { - checkHiveQl( + checkSQL( """ |SELECT | MAX(key) OVER (ORDER BY key DESC, value) / MIN(key) OVER (PARTITION BY key % 3) @@ -650,17 +650,17 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("regular expressions and window functions in one expression") { - checkHiveQl("SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1", + checkSQL("SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1", "regular_expressions_and_window") } test("aggregate functions and window functions in one expression") { - checkHiveQl("SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b", + checkSQL("SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b", "aggregate_functions_and_window") } test("window with different window specification") { - checkHiveQl( + checkSQL( """ |SELECT key, value, |DENSE_RANK() OVER (ORDER BY key, value) AS dr, @@ -670,7 +670,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window with the same window specification with aggregate + having") { - checkHiveQl( + checkSQL( """ |SELECT key, value, |MAX(value) OVER (PARTITION BY key % 5 ORDER BY key DESC) AS max @@ -680,7 +680,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window with the same window specification with aggregate functions") { - checkHiveQl( + checkSQL( """ |SELECT key, value, |MAX(value) OVER (PARTITION BY key % 5 ORDER BY key) AS max @@ -690,7 +690,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window with the same window specification with aggregate") { - checkHiveQl( + checkSQL( """ |SELECT key, value, |DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, @@ -701,7 +701,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window with the same window specification without aggregate and filter") { - checkHiveQl( + checkSQL( """ |SELECT key, value, |DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, @@ -712,7 +712,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window clause") { - checkHiveQl( + checkSQL( """ |SELECT key, MAX(value) OVER w1 AS MAX, MIN(value) OVER w2 AS min |FROM parquet_t1 @@ -721,7 +721,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("special window functions") { - checkHiveQl( + checkSQL( """ |SELECT | RANK() OVER w, @@ -738,7 +738,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("window with join") { - checkHiveQl( + checkSQL( """ |SELECT x.key, MAX(y.key) OVER (PARTITION BY x.key % 5 ORDER BY x.key) |FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key @@ -747,7 +747,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("join 2 tables and aggregate function in having clause") { - checkHiveQl( + checkSQL( """ |SELECT COUNT(a.value), b.KEY, a.KEY |FROM parquet_t1 a, parquet_t1 b @@ -758,34 +758,34 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("generator in project list without FROM clause") { - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3))", "generator_without_from_1") - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val", "generator_without_from_2") + checkSQL("SELECT EXPLODE(ARRAY(1,2,3))", "generator_without_from_1") + checkSQL("SELECT EXPLODE(ARRAY(1,2,3)) AS val", "generator_without_from_2") } test("generator in project list with non-referenced table") { - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) FROM t0", "generator_non_referenced_table_1") - checkHiveQl("SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0", "generator_non_referenced_table_2") + checkSQL("SELECT EXPLODE(ARRAY(1,2,3)) FROM t0", "generator_non_referenced_table_1") + checkSQL("SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0", "generator_non_referenced_table_2") } test("generator in project list with referenced table") { - checkHiveQl("SELECT EXPLODE(arr) FROM parquet_t3", "generator_referenced_table_1") - checkHiveQl("SELECT EXPLODE(arr) AS val FROM parquet_t3", "generator_referenced_table_2") + checkSQL("SELECT EXPLODE(arr) FROM parquet_t3", "generator_referenced_table_1") + checkSQL("SELECT EXPLODE(arr) AS val FROM parquet_t3", "generator_referenced_table_2") } test("generator in project list with non-UDTF expressions") { - checkHiveQl("SELECT EXPLODE(arr), id FROM parquet_t3", "generator_non_udtf_1") - checkHiveQl("SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3", "generator_non_udtf_2") + checkSQL("SELECT EXPLODE(arr), id FROM parquet_t3", "generator_non_udtf_1") + checkSQL("SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3", "generator_non_udtf_2") } test("generator in lateral view") { - checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val", + checkSQL("SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val", "generator_in_lateral_view_1") - checkHiveQl("SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val", + checkSQL("SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val", "generator_in_lateral_view_2") } test("generator in lateral view with ambiguous names") { - checkHiveQl( + checkSQL( """ |SELECT exp.id, parquet_t3.id |FROM parquet_t3 @@ -793,7 +793,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, "generator_with_ambiguous_names_1") - checkHiveQl( + checkSQL( """ |SELECT exp.id, parquet_t3.id |FROM parquet_t3 @@ -803,7 +803,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("use JSON_TUPLE as generator") { - checkHiveQl( + checkSQL( """ |SELECT c0, c1, c2 |FROM parquet_t3 @@ -811,7 +811,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, "json_tuple_generator_1") - checkHiveQl( + checkSQL( """ |SELECT a, b, c |FROM parquet_t3 @@ -821,7 +821,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("nested generator in lateral view") { - checkHiveQl( + checkSQL( """ |SELECT val, id |FROM parquet_t3 @@ -830,7 +830,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, "nested_generator_in_lateral_view_1") - checkHiveQl( + checkSQL( """ |SELECT val, id |FROM parquet_t3 @@ -841,7 +841,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("generate with other operators") { - checkHiveQl( + checkSQL( """ |SELECT EXPLODE(arr) AS val, id |FROM parquet_t3 @@ -851,7 +851,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { """.stripMargin, "generate_with_other_1") - checkHiveQl( + checkSQL( """ |SELECT val, id |FROM parquet_t3 @@ -865,21 +865,21 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } test("filter after subquery") { - checkHiveQl("SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5", + checkSQL("SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5", "filter_after_subquery") } test("SPARK-14933 - select parquet table") { withTable("parquet_t") { sql("create table parquet_t stored as parquet as select 1 as c1, 'abc' as c2") - checkHiveQl("select * from parquet_t", "select_parquet_table") + checkSQL("select * from parquet_t", "select_parquet_table") } } test("SPARK-14933 - select orc table") { withTable("orc_t") { sql("create table orc_t stored as orc as select 1 as c1, 'abc' as c2") - checkHiveQl("select * from orc_t", "select_orc_table") + checkSQL("select * from orc_t", "select_orc_table") } } } From e2a7ac445e7f0288d384996dc0e36195e5849c5a Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sun, 17 Jul 2016 19:54:21 -0700 Subject: [PATCH 5/8] Address comments. --- sql/hive/src/test/resources/sqlgen/agg1.sql | 1 + sql/hive/src/test/resources/sqlgen/agg2.sql | 1 + sql/hive/src/test/resources/sqlgen/agg3.sql | 1 + .../sqlgen/aggregate_functions_and_window.sql | 1 + sql/hive/src/test/resources/sqlgen/case.sql | 1 + .../test/resources/sqlgen/case_with_else.sql | 1 + .../test/resources/sqlgen/case_with_key.sql | 1 + .../sqlgen/case_with_key_and_else.sql | 1 + .../src/test/resources/sqlgen/cluster_by.sql | 1 + .../sqlgen/data_source_json_parquet_t0.sql | 1 + .../sqlgen/data_source_orc_parquet_t0.sql | 1 + .../sqlgen/data_source_parquet_parquet_t0.sql | 1 + .../resources/sqlgen/distinct_aggregation.sql | 1 + .../test/resources/sqlgen/distribute_by.sql | 1 + .../sqlgen/distribute_by_with_sort_by.sql | 1 + sql/hive/src/test/resources/sqlgen/except.sql | 1 + .../sqlgen/filter_after_subquery.sql | 1 + .../sqlgen/generate_with_other_1.sql | 1 + .../sqlgen/generate_with_other_2.sql | 1 + .../sqlgen/generator_in_lateral_view_1.sql | 1 + .../sqlgen/generator_in_lateral_view_2.sql | 1 + .../generator_non_referenced_table_1.sql | 1 + .../generator_non_referenced_table_2.sql | 1 + .../resources/sqlgen/generator_non_udtf_1.sql | 1 + .../resources/sqlgen/generator_non_udtf_2.sql | 1 + .../sqlgen/generator_referenced_table_1.sql | 1 + .../sqlgen/generator_referenced_table_2.sql | 1 + .../generator_with_ambiguous_names_1.sql | 1 + .../generator_with_ambiguous_names_2.sql | 1 + .../sqlgen/generator_without_from_1.sql | 1 + .../sqlgen/generator_without_from_2.sql | 1 + .../test/resources/sqlgen/grouping_sets_1.sql | 1 + .../resources/sqlgen/grouping_sets_2_1.sql | 1 + .../resources/sqlgen/grouping_sets_2_2.sql | 1 + .../resources/sqlgen/grouping_sets_2_3.sql | 1 + .../resources/sqlgen/grouping_sets_2_4.sql | 1 + .../resources/sqlgen/grouping_sets_2_5.sql | 1 + sql/hive/src/test/resources/sqlgen/in.sql | 1 + .../src/test/resources/sqlgen/intersect.sql | 1 + .../test/resources/sqlgen/join_2_tables.sql | 1 + .../sqlgen/json_tuple_generator_1.sql | 1 + .../sqlgen/json_tuple_generator_2.sql | 1 + .../test/resources/sqlgen/multi_distinct.sql | 1 + .../nested_generator_in_lateral_view_1.sql | 1 + .../nested_generator_in_lateral_view_2.sql | 1 + sql/hive/src/test/resources/sqlgen/not_in.sql | 1 + .../src/test/resources/sqlgen/not_like.sql | 1 + .../sqlgen/regular_expressions_and_window.sql | 1 + .../test/resources/sqlgen/rollup_cube_1_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_1_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_2_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_2_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_3_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_3_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_4_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_4_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_5_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_5_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_3.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_4.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_5.sql | 1 + .../test/resources/sqlgen/rollup_cube_6_6.sql | 1 + .../test/resources/sqlgen/rollup_cube_7_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_7_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_7_3.sql | 1 + .../test/resources/sqlgen/rollup_cube_8_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_8_2.sql | 1 + .../test/resources/sqlgen/rollup_cube_9_1.sql | 1 + .../test/resources/sqlgen/rollup_cube_9_2.sql | 1 + .../sqlgen/script_transformation_1.sql | 1 + .../sqlgen/script_transformation_2.sql | 1 + .../script_transformation_alias_list.sql | 1 + ...pt_transformation_alias_list_with_type.sql | 1 + ...ipt_transformation_row_format_multiple.sql | 1 + .../script_transformation_row_format_one.sql | 1 + ...script_transformation_row_format_serde.sql | 1 + ...ransformation_row_format_without_serde.sql | 1 + .../test/resources/sqlgen/select_distinct.sql | 1 + .../resources/sqlgen/select_orc_table.sql | 1 + .../resources/sqlgen/select_parquet_table.sql | 1 + .../src/test/resources/sqlgen/self_join.sql | 1 + .../sqlgen/self_join_with_group_by.sql | 1 + .../resources/sqlgen/sort_by_after_having.sql | 1 + .../test/resources/sqlgen/tablesample_1.sql | 1 + .../test/resources/sqlgen/tablesample_2.sql | 1 + .../test/resources/sqlgen/tablesample_3.sql | 1 + .../test/resources/sqlgen/tablesample_4.sql | 1 + .../test/resources/sqlgen/tablesample_5.sql | 1 + .../test/resources/sqlgen/tablesample_6.sql | 1 + .../resources/sqlgen/three_child_union.sql | 1 + .../test/resources/sqlgen/type_widening.sql | 1 + .../test/resources/sqlgen/union_distinct.sql | 1 + .../test/resources/sqlgen/window_basic_1.sql | 1 + .../test/resources/sqlgen/window_basic_2.sql | 1 + .../test/resources/sqlgen/window_basic_3.sql | 1 + .../resources/sqlgen/window_with_join.sql | 1 + .../window_with_the_same_window_with_agg.sql | 1 + ...w_with_the_same_window_with_agg_filter.sql | 1 + ...ith_the_same_window_with_agg_functions.sql | 1 + ...w_with_the_same_window_with_agg_having.sql | 1 + .../sql/catalyst/LogicalPlanToSQLSuite.scala | 50 ++++++++++++++++--- 103 files changed, 144 insertions(+), 8 deletions(-) diff --git a/sql/hive/src/test/resources/sqlgen/agg1.sql b/sql/hive/src/test/resources/sqlgen/agg1.sql index 0c9088e39b70a..9953640a6fa1c 100644 --- a/sql/hive/src/test/resources/sqlgen/agg1.sql +++ b/sql/hive/src/test/resources/sqlgen/agg1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/agg2.sql b/sql/hive/src/test/resources/sqlgen/agg2.sql index 6cc737f1d0af0..0caea28b0240a 100644 --- a/sql/hive/src/test/resources/sqlgen/agg2.sql +++ b/sql/hive/src/test/resources/sqlgen/agg2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY MAX(key) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/agg3.sql b/sql/hive/src/test/resources/sqlgen/agg3.sql index f6430ca9e6e26..437afa7790773 100644 --- a/sql/hive/src/test/resources/sqlgen/agg3.sql +++ b/sql/hive/src/test/resources/sqlgen/agg3.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT COUNT(value) FROM parquet_t1 GROUP BY key ORDER BY key, MAX(key) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, max(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1) AS gen_subquery_2 diff --git a/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql index 0e84ea72b6a7a..3a29bcf2ae442 100644 --- a/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql +++ b/sql/hive/src/test/resources/sqlgen/aggregate_functions_and_window.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT MAX(c) + COUNT(a) OVER () FROM parquet_t2 GROUP BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `(max(c) + count(a) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, count(`gen_attr`) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr`) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/case.sql b/sql/hive/src/test/resources/sqlgen/case.sql index b989838f484c7..f6a8c32cf0121 100644 --- a/sql/hive/src/test/resources/sqlgen/case.sql +++ b/sql/hive/src/test/resources/sqlgen/case.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT CASE WHEN id % 2 > 0 THEN 0 WHEN id % 2 = 0 THEN 1 END FROM parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((id % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 WHEN ((`gen_attr` % CAST(2 AS BIGINT)) = CAST(0 AS BIGINT)) THEN 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/case_with_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_else.sql index 80ecc8973cf43..8f1595d4b8cee 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_else.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_else.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT CASE WHEN id % 2 > 0 THEN 0 ELSE 1 END FROM parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN ((id % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END` FROM (SELECT CASE WHEN ((`gen_attr` % CAST(2 AS BIGINT)) > CAST(0 AS BIGINT)) THEN 0 ELSE 1 END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key.sql b/sql/hive/src/test/resources/sqlgen/case_with_key.sql index 42cbc12986da3..88353e321e1d2 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_key.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_key.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' END FROM parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql index efd69d31d53e9..bc44f25d1ff8b 100644 --- a/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql +++ b/sql/hive/src/test/resources/sqlgen/case_with_key_and_else.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT CASE id WHEN 0 THEN 'foo' WHEN 1 THEN 'bar' ELSE 'baz' END FROM parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `CASE WHEN (id = CAST(0 AS BIGINT)) THEN foo WHEN (id = CAST(1 AS BIGINT)) THEN bar ELSE baz END` FROM (SELECT CASE WHEN (`gen_attr` = CAST(0 AS BIGINT)) THEN "foo" WHEN (`gen_attr` = CAST(1 AS BIGINT)) THEN "bar" ELSE "baz" END AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/cluster_by.sql b/sql/hive/src/test/resources/sqlgen/cluster_by.sql index f5ab489c5f96f..3bc1dfc581882 100644 --- a/sql/hive/src/test/resources/sqlgen/cluster_by.sql +++ b/sql/hive/src/test/resources/sqlgen/cluster_by.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM parquet_t0 CLUSTER BY id -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql index 6d41eb0e7d86c..a4f46da9ffb75 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_json_parquet_t0.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM json_parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`json_parquet_t0`) AS gen_subquery_0) AS json_parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql index ee792e98470df..214dbcf23625d 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_orc_parquet_t0.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM orc_parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`orc_parquet_t0`) AS gen_subquery_0) AS orc_parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql index 5899a10f96649..eccf03eb122cb 100644 --- a/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql +++ b/sql/hive/src/test/resources/sqlgen/data_source_parquet_parquet_t0.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM parquet_parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_parquet_t0`) AS gen_subquery_0) AS parquet_parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql index 7cfc343c4049f..0fa21ad3ba423 100644 --- a/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql +++ b/sql/hive/src/test/resources/sqlgen/distinct_aggregation.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT COUNT(DISTINCT id) FROM parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(DISTINCT id)` FROM (SELECT count(DISTINCT `gen_attr`) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by.sql index a75b1907eaf39..75a1a2a6b60bc 100644 --- a/sql/hive/src/test/resources/sqlgen/distribute_by.sql +++ b/sql/hive/src/test/resources/sqlgen/distribute_by.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM parquet_t0 DISTRIBUTE BY id -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 DISTRIBUTE BY `gen_attr`) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql index e950f404a642b..a8e766e81db91 100644 --- a/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql +++ b/sql/hive/src/test/resources/sqlgen/distribute_by_with_sort_by.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM parquet_t0 DISTRIBUTE BY id SORT BY id -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 CLUSTER BY `gen_attr`) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/except.sql b/sql/hive/src/test/resources/sqlgen/except.sql index 37a0eb843be5f..b1c64288d6e6b 100644 --- a/sql/hive/src/test/resources/sqlgen/except.sql +++ b/sql/hive/src/test/resources/sqlgen/except.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT * FROM t0 EXCEPT SELECT * FROM t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) EXCEPT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql index 02d5c5809b86a..0156dffd0a9f7 100644 --- a/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql +++ b/sql/hive/src/test/resources/sqlgen/filter_after_subquery.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a FROM (SELECT key + 1 AS a FROM parquet_t1) t WHERE a > 5 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a` FROM (SELECT `gen_attr` FROM (SELECT (`gen_attr` + CAST(1 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS t WHERE (`gen_attr` > CAST(5 AS BIGINT))) AS t diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql index 7974bea9fa44d..15d23c67aec3c 100644 --- a/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(arr) AS val, id FROM parquet_t3 WHERE id > 2 diff --git a/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql index e1f94be2765b1..e2b94ce6739a6 100644 --- a/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generate_with_other_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql index 80f2a630c5215..c62b895c67403 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS val -------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql index 6c5c228a81b2d..4c68eef214fb1 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_in_lateral_view_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT val, id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS val -------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW OUTER explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql index a635aa05cf504..059c45ec47c02 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(ARRAY(1,2,3)) FROM t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql index 0bef7e15fcb26..8f03dedbf971f 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_referenced_table_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(ARRAY(1,2,3)) AS val FROM t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql index 6e00cd6f384ad..0bfe38036ebf7 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(arr), id FROM parquet_t3 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `col`, `gen_attr` AS `id` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_1 AS `gen_attr`) AS parquet_t3 diff --git a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql index eb79317a30a62..e4edb6876cac1 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_non_udtf_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(arr) AS val, id as a FROM parquet_t3 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `val`, `gen_attr` AS `a` FROM (SELECT `gen_attr`, `gen_attr` AS `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql index 05cfcbe3110d6..5cf57f82d2df2 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(arr) FROM parquet_t3 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql index 05caca51397d9..ed42894807d25 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_referenced_table_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(arr) AS val FROM parquet_t3 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT `arr` AS `gen_attr`, `arr2` AS `gen_attr`, `json` AS `gen_attr`, `id` AS `gen_attr` FROM `default`.`parquet_t3`) AS gen_subquery_0 LATERAL VIEW explode(`gen_attr`) gen_subquery_2 AS `gen_attr`) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql index eb040dbce5f48..5a4aec961a5e0 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT exp.id, parquet_t3.id FROM parquet_t3 LATERAL VIEW EXPLODE(arr) exp AS id diff --git a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql index 1442c6e3e25f5..3c3e858deda7c 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_with_ambiguous_names_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT exp.id, parquet_t3.id FROM parquet_t3 LATERAL VIEW OUTER EXPLODE(arr) exp AS id diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql index 5ff489f3927a1..d56e89c8bb45a 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(ARRAY(1,2,3)) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `col` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 diff --git a/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql index b0259f46d05a0..d7acb6924076a 100644 --- a/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql +++ b/sql/hive/src/test/resources/sqlgen/generator_without_from_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT EXPLODE(ARRAY(1,2,3)) AS val -------------------------------------------------------------------------------- SELECT `gen_attr` AS `val` FROM (SELECT `gen_attr` FROM (SELECT 1) gen_subquery_1 LATERAL VIEW explode(array(1, 2, 3)) gen_subquery_2 AS `gen_attr`) AS gen_subquery_0 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql index 98834115e8b20..72e429fe05b32 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id() AS k3 FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 GROUPING SETS (key % 5, key - 5) diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql index 0848adce14d18..25e86e73cbb7e 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a, b) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`), (`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql index a29380633e970..24bf02043488d 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (a) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql index d13105cb78cc2..f72bc8acd69a4 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_3.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (b) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`)) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql index d1da52cc28e9c..2fac7f661809e 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_4.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS (()) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS(()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql index ae912d2216260..2e60c9c4d2c6c 100644 --- a/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql +++ b/sql/hive/src/test/resources/sqlgen/grouping_sets_2_5.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(c) FROM parquet_t2 GROUP BY a, b GROUPING SETS ((), (a), (a, b)) ORDER BY a, b -------------------------------------------------------------------------------- diff --git a/sql/hive/src/test/resources/sqlgen/in.sql b/sql/hive/src/test/resources/sqlgen/in.sql index b74c05ec91774..1e0251e586e20 100644 --- a/sql/hive/src/test/resources/sqlgen/in.sql +++ b/sql/hive/src/test/resources/sqlgen/in.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0 WHERE (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT)))) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/intersect.sql b/sql/hive/src/test/resources/sqlgen/intersect.sql index d8c691fa2bc74..608fa59f8afbc 100644 --- a/sql/hive/src/test/resources/sqlgen/intersect.sql +++ b/sql/hive/src/test/resources/sqlgen/intersect.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT * FROM t0 INTERSECT SELECT * FROM t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 ) INTERSECT ( SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/join_2_tables.sql b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql index 7c861ba28ccd6..bb99797b8bcc6 100644 --- a/sql/hive/src/test/resources/sqlgen/join_2_tables.sql +++ b/sql/hive/src/test/resources/sqlgen/join_2_tables.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT COUNT(a.value), b.KEY, a.KEY FROM parquet_t1 a, parquet_t1 b GROUP BY a.KEY, b.KEY diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql index d94d5beb4e846..9e5fe1156e5de 100644 --- a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT c0, c1, c2 FROM parquet_t3 LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt diff --git a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql index 0f4a51a4c1c8c..55dd491a32a32 100644 --- a/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql +++ b/sql/hive/src/test/resources/sqlgen/json_tuple_generator_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, c FROM parquet_t3 LATERAL VIEW JSON_TUPLE(json, 'f1', 'f2', 'f3') jt AS a, b, c diff --git a/sql/hive/src/test/resources/sqlgen/multi_distinct.sql b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql index 52eb124d4626f..b5c7cf0b0ce1a 100644 --- a/sql/hive/src/test/resources/sqlgen/multi_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/multi_distinct.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c), SUM(d) FROM parquet_t2 GROUP BY a -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `count(DISTINCT b)`, `gen_attr` AS `count(DISTINCT c)`, `gen_attr` AS `sum(d)` FROM (SELECT `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, count(DISTINCT `gen_attr`) AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`) AS parquet_t2 diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql index 0bb8d54c7cf19..3d79f95654585 100644 --- a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array diff --git a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql index 1f0ef458ced8f..18b29a7bc5eea 100644 --- a/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql +++ b/sql/hive/src/test/resources/sqlgen/nested_generator_in_lateral_view_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT val, id FROM parquet_t3 LATERAL VIEW EXPLODE(arr2) exp1 AS nested_array diff --git a/sql/hive/src/test/resources/sqlgen/not_in.sql b/sql/hive/src/test/resources/sqlgen/not_in.sql index 02b610bd308a9..a50ee282e534e 100644 --- a/sql/hive/src/test/resources/sqlgen/not_in.sql +++ b/sql/hive/src/test/resources/sqlgen/not_in.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM t0 WHERE id NOT IN (1, 2, 3) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT (CAST(`gen_attr` AS BIGINT) IN (CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT))))) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/not_like.sql b/sql/hive/src/test/resources/sqlgen/not_like.sql index 792f98c42baf5..2f66695189cba 100644 --- a/sql/hive/src/test/resources/sqlgen/not_like.sql +++ b/sql/hive/src/test/resources/sqlgen/not_like.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM t0 WHERE id + 5 NOT LIKE '1%' -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0 WHERE (NOT CAST((`gen_attr` + CAST(5 AS BIGINT)) AS STRING) LIKE "1%")) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql index 89d26140040b7..7d837d490f125 100644 --- a/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql +++ b/sql/hive/src/test/resources/sqlgen/regular_expressions_and_window.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT MAX(key) OVER (PARTITION BY key % 3) + key FROM parquet_t1 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `(max(key) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) + key)` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql index 1a32ac08a1881..4b2c78ea40c78 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH ROLLUP -------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql index 6e1b0d921ce9b..62cf1bb9d8e0c 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_1_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT count(*) as cnt, key%5, grouping_id() FROM parquet_t1 GROUP BY key % 5 WITH CUBE -------------------------------------------------------------------------------- SELECT `gen_attr` AS `cnt`, `gen_attr` AS `(key % CAST(5 AS BIGINT))`, `gen_attr` AS `grouping_id()` FROM (SELECT count(1) AS `gen_attr`, (`gen_attr` % CAST(5 AS BIGINT)) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY (`gen_attr` % CAST(5 AS BIGINT)) GROUPING SETS(((`gen_attr` % CAST(5 AS BIGINT))), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql index f363cc30b8b19..d58910af6939b 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH ROLLUP -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql index eeb2929acd2de..9a58c15203d1e 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_2_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, value, count(value) FROM parquet_t1 GROUP BY key, value WITH CUBE -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value`, `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql index 4964f803c2958..cd4d428b07ede 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH ROLLUP -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql index b87fbc5a674bd..4f42d7eda8901 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_3_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, count(value), grouping_id() FROM parquet_t1 GROUP BY key, value WITH CUBE -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `count(value)`, `gen_attr` AS `grouping_id()` FROM (SELECT `gen_attr` AS `gen_attr`, count(`gen_attr`) AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql index 2fb58565f79e8..be4908ea16e52 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 GROUP BY key % 5, key - 5 WITH ROLLUP -------------------------------------------------------------------------------- diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql index b297d4cb9d190..eebef6a5f3b89 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_4_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT count(*) as cnt, key % 5 as k1, key - 5 as k2, grouping_id() FROM parquet_t1 GROUP BY key % 5, key - 5 WITH CUBE -------------------------------------------------------------------------------- diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql index 12c927ebd5c2d..9474233cb7528 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 FROM (SELECT key, key%2, key - 5 FROM parquet_t1) t GROUP BY key%5, key-5 WITH ROLLUP diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql index 17c1aa188b3f2..d36f43d665cda 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_5_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT count(*) AS cnt, key % 5 AS k1, key - 5 AS k2, grouping_id(key % 5, key - 5) AS k3 FROM (SELECT key, key % 2, key - 5 FROM parquet_t1) t GROUP BY key % 5, key - 5 WITH CUBE diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql index 88f5558ed0921..de980784c7215 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(c) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql index e7d4ca13d5fda..8956ac4c42f86 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(c) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(c)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql index 2b0d4f4acae1b..b9cef62dcfdfa 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_3.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(a) FROM parquet_t2 GROUP BY ROLLUP(a, b) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql index 9b9d581be1ae3..ba6457ab1a54d 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_4.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, sum(a) FROM parquet_t2 GROUP BY CUBE(a, b) ORDER BY a, b -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `sum(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, sum(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ()) ORDER BY `gen_attr` ASC, `gen_attr` ASC) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql index a030c2670aa02..763fecd9517fa 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_5.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH ROLLUP -------------------------------------------------------------------------------- SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql index d49d566f3d1be..00ecbf6078e00 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_6_6.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a + b, b, sum(a - b) FROM parquet_t2 GROUP BY a + b, b WITH CUBE -------------------------------------------------------------------------------- SELECT `gen_attr` AS `(a + b)`, `gen_attr` AS `b`, `gen_attr` AS `sum((a - b))` FROM (SELECT (`gen_attr` + `gen_attr`) AS `gen_attr`, `gen_attr` AS `gen_attr`, sum((`gen_attr` - `gen_attr`)) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY (`gen_attr` + `gen_attr`), `gen_attr` GROUPING SETS(((`gen_attr` + `gen_attr`), `gen_attr`), ((`gen_attr` + `gen_attr`)), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql index b9254c488ce14..6f57130f3ea2c 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, grouping_id(a, b) FROM parquet_t2 GROUP BY cube(a, b) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping_id(a, b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping_id() AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql index c78384b572bf9..dab7852a3e967 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, grouping(b) FROM parquet_t2 GROUP BY cube(a, b) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(b)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql index 6d4997c9767c0..50964e5b01b6c 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_7_3.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT a, b, grouping(a) FROM parquet_t2 GROUP BY cube(a, b) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `a`, `gen_attr` AS `b`, `gen_attr` AS `grouping(a)` FROM (SELECT `gen_attr` AS `gen_attr`, `gen_attr` AS `gen_attr`, grouping(`gen_attr`) AS `gen_attr` FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0 GROUP BY `gen_attr`, `gen_attr` GROUPING SETS((`gen_attr`, `gen_attr`), (`gen_attr`), (`gen_attr`), ())) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql index 1f894c3d7af85..84af580a36250 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 WITH ROLLUP diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql index 1af925d887ddd..b0f65b7d41bfb 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_8_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT hkey AS k1, value - 5 AS k2, hash(grouping_id()) AS hgid FROM (SELECT hash(key) as hkey, key as value FROM parquet_t1) t GROUP BY hkey, value-5 WITH CUBE diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql index 527e7fd1b3a04..171400dd78cd1 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT t.key - 5, cnt, SUM(cnt) FROM (SELECT x.key, COUNT(*) as cnt FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t diff --git a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql index c4aa704372ef1..fe98b6c343cc6 100644 --- a/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql +++ b/sql/hive/src/test/resources/sqlgen/rollup_cube_9_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT t.key - 5, cnt, SUM(cnt) FROM (SELECT x.key, COUNT(*) as cnt FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key GROUP BY x.key) t diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql index 0a8af983eb7f3..75e43d0dc1cfe 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT TRANSFORM (a, b, c, d) USING 'cat' FROM parquet_t2 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql index 42c4d6fe9cacc..6a68edc72ebc3 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT TRANSFORM (*) USING 'cat' FROM parquet_t2 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `value` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) USING 'cat' AS (`gen_attr` string, `gen_attr` string) FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql index cbe333d4e64e4..111df4bdf2299 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT TRANSFORM (a, b, c, d) USING 'cat' AS (d1, d2, d3, d4) FROM parquet_t2 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `d1`, `gen_attr` AS `d2`, `gen_attr` AS `d3`, `gen_attr` AS `d4` FROM (SELECT TRANSFORM (`gen_attr`, `gen_attr`, `gen_attr`, `gen_attr`) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') USING 'cat' AS (`gen_attr` string, `gen_attr` string, `gen_attr` string, `gen_attr` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = ' ') FROM (SELECT `a` AS `gen_attr`, `b` AS `gen_attr`, `c` AS `gen_attr`, `d` AS `gen_attr` FROM `default`.`parquet_t2`) AS gen_subquery_0) AS gen_subquery_1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql index fa00291c75580..4ab412cfd171b 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_alias_list_with_type.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. FROM (FROM parquet_t1 SELECT TRANSFORM(key, value) USING 'cat' AS (thing1 int, thing2 string)) t SELECT thing1 + 1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql index cb33dd4f16368..1e30e45d45d31 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_multiple.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT TRANSFORM (key) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\t' USING 'cat' AS (tKey) diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql index f916acd821cba..dd622898780ac 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_one.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT TRANSFORM (key) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' USING 'cat' AS (tKey) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' FROM parquet_t1 diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql index 608aad1fa1aa5..2ad369815742f 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_serde.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT TRANSFORM (key, value) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES('field.delim' = '|') diff --git a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql index f6d48d43d1a1e..a90b42d9b4aed 100644 --- a/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql +++ b/sql/hive/src/test/resources/sqlgen/script_transformation_row_format_without_serde.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT TRANSFORM (key, value) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' USING 'cat' AS (tKey, tValue) diff --git a/sql/hive/src/test/resources/sqlgen/select_distinct.sql b/sql/hive/src/test/resources/sqlgen/select_distinct.sql index 4aa7c21525e3f..3bc8e55379281 100644 --- a/sql/hive/src/test/resources/sqlgen/select_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/select_distinct.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT DISTINCT id FROM parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT DISTINCT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/select_orc_table.sql b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql index e336b122b8b38..eae67f9540381 100644 --- a/sql/hive/src/test/resources/sqlgen/select_orc_table.sql +++ b/sql/hive/src/test/resources/sqlgen/select_orc_table.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. select * from orc_t -------------------------------------------------------------------------------- SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`orc_t`) AS gen_subquery_0) AS orc_t diff --git a/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql index 28fbc9b3df048..a085bab84c9df 100644 --- a/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql +++ b/sql/hive/src/test/resources/sqlgen/select_parquet_table.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. select * from parquet_t -------------------------------------------------------------------------------- SELECT `gen_attr` AS `c1`, `gen_attr` AS `c2` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT `c1` AS `gen_attr`, `c2` AS `gen_attr` FROM `default`.`parquet_t`) AS gen_subquery_0) AS parquet_t diff --git a/sql/hive/src/test/resources/sqlgen/self_join.sql b/sql/hive/src/test/resources/sqlgen/self_join.sql index 1dbae69d4f49a..8947ccda820a5 100644 --- a/sql/hive/src/test/resources/sqlgen/self_join.sql +++ b/sql/hive/src/test/resources/sqlgen/self_join.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT x.key FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key` FROM (SELECT `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`)) AS x diff --git a/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql index 4c41163711d55..6db053f286028 100644 --- a/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql +++ b/sql/hive/src/test/resources/sqlgen/self_join_with_group_by.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT x.key, COUNT(*) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key group by x.key -------------------------------------------------------------------------------- SELECT `gen_attr` AS `key`, `gen_attr` AS `count(1)` FROM (SELECT `gen_attr`, count(1) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 INNER JOIN (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_1 ON (`gen_attr` = `gen_attr`) GROUP BY `gen_attr`) AS x diff --git a/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql index 8ed09558d7929..e9a6afdc7eda1 100644 --- a/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql +++ b/sql/hive/src/test/resources/sqlgen/sort_by_after_having.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT COUNT(value) FROM parquet_t1 GROUP BY key HAVING MAX(key) > 0 SORT BY key -------------------------------------------------------------------------------- SELECT `gen_attr` AS `count(value)` FROM (SELECT `gen_attr` FROM (SELECT `gen_attr`, `gen_attr` FROM (SELECT count(`gen_attr`) AS `gen_attr`, max(`gen_attr`) AS `gen_attr`, `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0 GROUP BY `gen_attr` HAVING (`gen_attr` > CAST(0 AS BIGINT))) AS gen_subquery_1 SORT BY `gen_attr` ASC) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_1.sql b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql index 31891f41872f8..54c8deeb65679 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_1.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT s.id FROM parquet_t0 TABLESAMPLE(100 PERCENT) s -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_2.sql b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql index 656c41c951036..13dcadb41a87f 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_2.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT * FROM parquet_t0 TABLESAMPLE(100 PERCENT) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_3.sql b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql index 2be8aec02207e..c1ed57f5e3f2e 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_3.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_3.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT s.id FROM t0 TABLESAMPLE(100 PERCENT) s -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS s diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_4.sql b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql index 316410984b3dd..c22b20802c41a 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_4.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_4.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT * FROM t0 TABLESAMPLE(100 PERCENT) -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0` TABLESAMPLE(100.0 PERCENT)) AS gen_subquery_0) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_5.sql b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql index 4c0ca60eede06..fa69dd46c7462 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_5.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_5.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT s.id FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) s WHERE 1=0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS s diff --git a/sql/hive/src/test/resources/sqlgen/tablesample_6.sql b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql index defb51827f205..bc72560c42905 100644 --- a/sql/hive/src/test/resources/sqlgen/tablesample_6.sql +++ b/sql/hive/src/test/resources/sqlgen/tablesample_6.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT * FROM parquet_t0 TABLESAMPLE(0.1 PERCENT) WHERE 1=0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0` TABLESAMPLE(0.1 PERCENT)) AS gen_subquery_0 WHERE (1 = 0)) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/three_child_union.sql b/sql/hive/src/test/resources/sqlgen/three_child_union.sql index 5ec9d52d2b4e5..c3781117d814d 100644 --- a/sql/hive/src/test/resources/sqlgen/three_child_union.sql +++ b/sql/hive/src/test/resources/sqlgen/three_child_union.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM parquet_t0 UNION ALL SELECT id FROM parquet_t0 UNION ALL SELECT id FROM parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/type_widening.sql b/sql/hive/src/test/resources/sqlgen/type_widening.sql index 928c728210ece..96e6cc2fec90d 100644 --- a/sql/hive/src/test/resources/sqlgen/type_widening.sql +++ b/sql/hive/src/test/resources/sqlgen/type_widening.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT id FROM parquet_t0 UNION ALL SELECT CAST(id AS INT) AS id FROM parquet_t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_0) UNION ALL (SELECT CAST(CAST(`gen_attr` AS INT) AS BIGINT) AS `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`parquet_t0`) AS gen_subquery_1)) AS parquet_t0 diff --git a/sql/hive/src/test/resources/sqlgen/union_distinct.sql b/sql/hive/src/test/resources/sqlgen/union_distinct.sql index 22a374f4b401b..c5895ae766d2e 100644 --- a/sql/hive/src/test/resources/sqlgen/union_distinct.sql +++ b/sql/hive/src/test/resources/sqlgen/union_distinct.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT * FROM t0 UNION SELECT * FROM t0 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `id` FROM ((SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_0) UNION DISTINCT (SELECT `gen_attr` FROM (SELECT `id` AS `gen_attr` FROM `default`.`t0`) AS gen_subquery_1)) AS t0 diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_1.sql b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql index 9f0792584a0c8..73f343d1018c1 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_1.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_1.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT MAX(value) OVER (PARTITION BY key % 3) FROM parquet_t1 -------------------------------------------------------------------------------- SELECT `gen_attr` AS `max(value) OVER (PARTITION BY (key % CAST(3 AS BIGINT)) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)` FROM (SELECT `gen_attr` FROM (SELECT gen_subquery_1.`gen_attr`, gen_subquery_1.`gen_attr`, max(`gen_attr`) OVER (PARTITION BY `gen_attr` ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS `gen_attr` FROM (SELECT `gen_attr`, (`gen_attr` % CAST(3 AS BIGINT)) AS `gen_attr` FROM (SELECT `key` AS `gen_attr`, `value` AS `gen_attr` FROM `default`.`parquet_t1`) AS gen_subquery_0) AS gen_subquery_1) AS gen_subquery_2) AS gen_subquery_3 diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_2.sql b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql index c3291490f4a84..3ddb87f91b88d 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_2.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_2.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, value, ROUND(AVG(key) OVER (), 2) FROM parquet_t1 ORDER BY key -------------------------------------------------------------------------------- diff --git a/sql/hive/src/test/resources/sqlgen/window_basic_3.sql b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql index e3ffef02bebc1..43f992882ce28 100644 --- a/sql/hive/src/test/resources/sqlgen/window_basic_3.sql +++ b/sql/hive/src/test/resources/sqlgen/window_basic_3.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT value, MAX(key + 1) OVER (PARTITION BY key % 5 ORDER BY key % 7) AS max FROM parquet_t1 -------------------------------------------------------------------------------- diff --git a/sql/hive/src/test/resources/sqlgen/window_with_join.sql b/sql/hive/src/test/resources/sqlgen/window_with_join.sql index 8a5d5d073329a..00c45c8feafaa 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_join.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_join.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT x.key, MAX(y.key) OVER (PARTITION BY x.key % 5 ORDER BY x.key) FROM parquet_t1 x JOIN parquet_t1 y ON x.key = y.key -------------------------------------------------------------------------------- diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql index 89c0b7be9a997..65d3d3aeb623e 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, value, DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, COUNT(key) diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql index 6d5cb308b0636..03e0962f44943 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_filter.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, value, DENSE_RANK() OVER (DISTRIBUTE BY key SORT BY key, value) AS dr, COUNT(key) OVER(DISTRIBUTE BY key SORT BY key, value) AS ca diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql index 25c068876b951..090207f9b8352 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_functions.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, value, MAX(value) OVER (PARTITION BY key % 5 ORDER BY key) AS max FROM parquet_t1 GROUP BY key, value diff --git a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql index 730c380cef3fa..fcc2cf7de80a6 100644 --- a/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql +++ b/sql/hive/src/test/resources/sqlgen/window_with_the_same_window_with_agg_having.sql @@ -1,3 +1,4 @@ +-- This file is automatically generated by LogicalPlanToSQLSuite. SELECT key, value, MAX(value) OVER (PARTITION BY key % 5 ORDER BY key DESC) AS max FROM parquet_t1 GROUP BY key, value HAVING key > 5 diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index d30aa9f3fbbc2..90c061abe62cc 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -18,19 +18,22 @@ package org.apache.spark.sql.catalyst import java.nio.charset.StandardCharsets -import java.nio.file.{Files, Paths} +import java.nio.file.{Files, NoSuchFileException, Paths} import scala.util.control.NonFatal import org.apache.spark.sql.Column +import org.apache.spark.sql.catalyst.parser.ParseException import org.apache.spark.sql.functions._ import org.apache.spark.sql.test.SQLTestUtils /** - * A testsuite for LogicalPlan-to-SQL conversion. + * A test suite for LogicalPlan-to-SQL conversion. * - * To regenerate new answer files, run this suite after making `saveQuery` flag `true`. - * After regeneration, restore the flag to `false` and run again to check the tests pass again. + * Each query has a golden generated SQL file in test/resources/sqlgen. The test suite also has + * built-in functionality to automatically generate these golden files. To do so, set the + * saveQuery flag to true and run the test suite. After generating the golden files, make sure + * to set the flag to false. */ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { import testImplicits._ @@ -99,7 +102,8 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { val path = s"src/test/resources/sqlgen/$answerFile.sql" val separator = "-" * 80 if (saveQuery) { - val answerText = s"${originalSQL.trim()}\n${separator}\n$normalizedGenSQL\n" + val header = "-- This file is automatically generated by LogicalPlanToSQLSuite." + val answerText = s"$header\n${originalSQL.trim()}\n${separator}\n$normalizedGenSQL\n" Files.write(Paths.get(path), answerText.getBytes(StandardCharsets.UTF_8)) } else { val answerText = new String(Files.readAllBytes(Paths.get(path)), StandardCharsets.UTF_8) @@ -112,15 +116,21 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } + /** + * 1. Checks if SQL parsing succeeds. + * 2. Checks if SQL generation succeeds. + * 3. Checks the generated SQL against golden files. + * 4. Verifies the execution result stays the same. + */ private def checkSQL(sqlString: String, answerFile: String = null): Unit = { val df = sql(sqlString) val convertedSQL = try new SQLBuilder(df).toSQL catch { case NonFatal(e) => fail( - s"""Cannot convert the following HiveQL query plan back to SQL query string: + s"""Cannot convert the following SQL query plan back to SQL query string: | - |# Original HiveQL query string: + |# Original SQL query string: |$sqlString | |# Resolved query plan: @@ -139,7 +149,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { |# Converted SQL query string: |$convertedSQL | - |# Original HiveQL query string: + |# Original SQL query string: |$sqlString | |# Resolved query plan: @@ -148,6 +158,30 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } + test("checkSQL") { + val m = intercept[ParseException] { + checkSQL("SELE", "NOT_A_FILE") + }.getMessage + assert(m.contains("mismatched input")) + + val m2 = intercept[NoSuchFileException] { + checkSQL("SELECT 1", "NOT_A_FILE") + }.getMessage + assert(m2.contains("NOT_A_FILE")) + + spark.range(10).createOrReplaceTempView("not_sql_gen_supported_table_so_far") + sql("select * from not_sql_gen_supported_table_so_far") + val m3 = intercept[org.scalatest.exceptions.TestFailedException] { + checkSQL("select * from not_sql_gen_supported_table_so_far", "in") + }.getMessage + assert(m3.contains("Cannot convert the following SQL query plan back to SQL query string")) + + val m4 = intercept[org.scalatest.exceptions.TestFailedException] { + checkSQL("SELECT 1", "in") + }.getMessage + assert(m4.contains("did not equal")) + } + test("in") { checkSQL("SELECT id FROM parquet_t0 WHERE id IN (1, 2, 3)", "in") } From 38f52cea6fbd53cf66429d396663708afcb1f193 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sun, 17 Jul 2016 22:43:12 -0700 Subject: [PATCH 6/8] Use assertion and split the testcases with detail test names. --- .../sql/catalyst/LogicalPlanToSQLSuite.scala | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index 90c061abe62cc..60d47d3cb7d59 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -108,10 +108,9 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } else { val answerText = new String(Files.readAllBytes(Paths.get(path)), StandardCharsets.UTF_8) val sqls = answerText.split(separator) - if (sqls.length == 2) { - val normalizedExpectSQL = sqls(1).trim() - assert(normalizedGenSQL == normalizedExpectSQL) - } + assert(sqls.length == 2, "Golden sql files should have a separator.") + val normalizedExpectSQL = sqls(1).trim() + assert(normalizedGenSQL == normalizedExpectSQL) } } } @@ -158,24 +157,30 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } - test("checkSQL") { + test("Test should fail if the SQL query cannot be parsed") { val m = intercept[ParseException] { checkSQL("SELE", "NOT_A_FILE") }.getMessage assert(m.contains("mismatched input")) + } + test("Test should fail if the golden file cannot be found") { val m2 = intercept[NoSuchFileException] { checkSQL("SELECT 1", "NOT_A_FILE") }.getMessage assert(m2.contains("NOT_A_FILE")) + } + test("Test should fail if the SQL query cannot be regenerated") { spark.range(10).createOrReplaceTempView("not_sql_gen_supported_table_so_far") sql("select * from not_sql_gen_supported_table_so_far") val m3 = intercept[org.scalatest.exceptions.TestFailedException] { checkSQL("select * from not_sql_gen_supported_table_so_far", "in") }.getMessage assert(m3.contains("Cannot convert the following SQL query plan back to SQL query string")) + } + test("Test should fail if the SQL query did not equal to the golden SQL") { val m4 = intercept[org.scalatest.exceptions.TestFailedException] { checkSQL("SELECT 1", "in") }.getMessage From a9a1b00411fa6175dd1e628a3485a4313999b636 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sun, 17 Jul 2016 23:56:10 -0700 Subject: [PATCH 7/8] Use SPARK_GENERATE_GOLDEN_FILES. --- .../sql/catalyst/LogicalPlanToSQLSuite.scala | 77 +++++++++++-------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index 60d47d3cb7d59..7c9ff32241ca0 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -31,13 +31,18 @@ import org.apache.spark.sql.test.SQLTestUtils * A test suite for LogicalPlan-to-SQL conversion. * * Each query has a golden generated SQL file in test/resources/sqlgen. The test suite also has - * built-in functionality to automatically generate these golden files. To do so, set the - * saveQuery flag to true and run the test suite. After generating the golden files, make sure - * to set the flag to false. + * built-in functionality to automatically generate these golden files. + * + * To re-generate golden files, run: + * SPARK_GENERATE_GOLDEN_FILES=1 build/sbt "hive/test-only *LogicalPlanToSQLSuite" */ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { import testImplicits._ + // Used for generating new query answer files by saving + private val saveQuery = System.getenv("SPARK_GENERATE_GOLDEN_FILES") != null + private val goldenSQLPath = "src/test/resources/sqlgen/" + protected override def beforeAll(): Unit = { super.beforeAll() sql("DROP TABLE IF EXISTS parquet_t0") @@ -88,9 +93,6 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } - // Used for generating new query answer files by saving - private val saveQuery = false - /** * Compare the generated SQL with the expected answer string. * Note that there exists a normalization for both arguments for the convenience. @@ -99,13 +101,19 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { private def checkSQLStructure(originalSQL: String, convertedSQL: String, answerFile: String) = { val normalizedGenSQL = convertedSQL.replaceAll("`gen_attr_\\d+`", "`gen_attr`") if (answerFile != null) { - val path = s"src/test/resources/sqlgen/$answerFile.sql" val separator = "-" * 80 if (saveQuery) { + val path = Paths.get(s"$goldenSQLPath/$answerFile.sql") val header = "-- This file is automatically generated by LogicalPlanToSQLSuite." val answerText = s"$header\n${originalSQL.trim()}\n${separator}\n$normalizedGenSQL\n" - Files.write(Paths.get(path), answerText.getBytes(StandardCharsets.UTF_8)) + Files.write(path, answerText.getBytes(StandardCharsets.UTF_8)) } else { + val goldenFileName = s"sqlgen/$answerFile.sql" + val resourceFile = getClass.getClassLoader.getResource(goldenFileName) + if (resourceFile == null) { + throw new NoSuchFileException(goldenFileName) + } + val path = resourceFile.getPath val answerText = new String(Files.readAllBytes(Paths.get(path)), StandardCharsets.UTF_8) val sqls = answerText.split(separator) assert(sqls.length == 2, "Golden sql files should have a separator.") @@ -157,34 +165,37 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } } - test("Test should fail if the SQL query cannot be parsed") { - val m = intercept[ParseException] { - checkSQL("SELE", "NOT_A_FILE") - }.getMessage - assert(m.contains("mismatched input")) - } + // When saving golden files, these tests should be ignored to prevent making files. + if (!saveQuery) { + test("Test should fail if the SQL query cannot be parsed") { + val m = intercept[ParseException] { + checkSQL("SELE", "NOT_A_FILE") + }.getMessage + assert(m.contains("mismatched input")) + } - test("Test should fail if the golden file cannot be found") { - val m2 = intercept[NoSuchFileException] { - checkSQL("SELECT 1", "NOT_A_FILE") - }.getMessage - assert(m2.contains("NOT_A_FILE")) - } + test("Test should fail if the golden file cannot be found") { + val m2 = intercept[NoSuchFileException] { + checkSQL("SELECT 1", "NOT_A_FILE") + }.getMessage + assert(m2.contains("NOT_A_FILE")) + } - test("Test should fail if the SQL query cannot be regenerated") { - spark.range(10).createOrReplaceTempView("not_sql_gen_supported_table_so_far") - sql("select * from not_sql_gen_supported_table_so_far") - val m3 = intercept[org.scalatest.exceptions.TestFailedException] { - checkSQL("select * from not_sql_gen_supported_table_so_far", "in") - }.getMessage - assert(m3.contains("Cannot convert the following SQL query plan back to SQL query string")) - } + test("Test should fail if the SQL query cannot be regenerated") { + spark.range(10).createOrReplaceTempView("not_sql_gen_supported_table_so_far") + sql("select * from not_sql_gen_supported_table_so_far") + val m3 = intercept[org.scalatest.exceptions.TestFailedException] { + checkSQL("select * from not_sql_gen_supported_table_so_far", "in") + }.getMessage + assert(m3.contains("Cannot convert the following SQL query plan back to SQL query string")) + } - test("Test should fail if the SQL query did not equal to the golden SQL") { - val m4 = intercept[org.scalatest.exceptions.TestFailedException] { - checkSQL("SELECT 1", "in") - }.getMessage - assert(m4.contains("did not equal")) + test("Test should fail if the SQL query did not equal to the golden SQL") { + val m4 = intercept[org.scalatest.exceptions.TestFailedException] { + checkSQL("SELECT 1", "in") + }.getMessage + assert(m4.contains("did not equal")) + } } test("in") { From efaa4d0d55373280e19ed38b7e192545e4a3a6af Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Mon, 18 Jul 2016 06:17:37 -0700 Subject: [PATCH 8/8] Address comments. --- .../apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala index 7c9ff32241ca0..698c7c3e3c2fa 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/catalyst/LogicalPlanToSQLSuite.scala @@ -40,7 +40,8 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { import testImplicits._ // Used for generating new query answer files by saving - private val saveQuery = System.getenv("SPARK_GENERATE_GOLDEN_FILES") != null + private val regenerateGoldenFiles = + Option(System.getenv("SPARK_GENERATE_GOLDEN_FILES")).contains("1") private val goldenSQLPath = "src/test/resources/sqlgen/" protected override def beforeAll(): Unit = { @@ -102,7 +103,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { val normalizedGenSQL = convertedSQL.replaceAll("`gen_attr_\\d+`", "`gen_attr`") if (answerFile != null) { val separator = "-" * 80 - if (saveQuery) { + if (regenerateGoldenFiles) { val path = Paths.get(s"$goldenSQLPath/$answerFile.sql") val header = "-- This file is automatically generated by LogicalPlanToSQLSuite." val answerText = s"$header\n${originalSQL.trim()}\n${separator}\n$normalizedGenSQL\n" @@ -166,7 +167,7 @@ class LogicalPlanToSQLSuite extends SQLBuilderTest with SQLTestUtils { } // When saving golden files, these tests should be ignored to prevent making files. - if (!saveQuery) { + if (!regenerateGoldenFiles) { test("Test should fail if the SQL query cannot be parsed") { val m = intercept[ParseException] { checkSQL("SELE", "NOT_A_FILE")