diff --git a/connector/connect/client/jvm/src/test/scala/org/apache/spark/sql/PlanGenerationTestSuite.scala b/connector/connect/client/jvm/src/test/scala/org/apache/spark/sql/PlanGenerationTestSuite.scala index 10aa4b658da10..7b5d8bd10189d 100644 --- a/connector/connect/client/jvm/src/test/scala/org/apache/spark/sql/PlanGenerationTestSuite.scala +++ b/connector/connect/client/jvm/src/test/scala/org/apache/spark/sql/PlanGenerationTestSuite.scala @@ -299,11 +299,11 @@ class PlanGenerationTestSuite extends ConnectFunSuite with BeforeAndAfterAll wit } test("join inner_condition") { - left.join(right, fn.col("a") === fn.col("a")) + left.alias("l").join(right.alias("r"), fn.col("l.a") === fn.col("r.a")) } test("join condition") { - left.join(right, fn.col("id") === fn.col("id"), "left_anti") + left.as("l").join(right.as("r"), fn.col("l.id") === fn.col("r.id"), "left_anti") } test("crossJoin") { @@ -347,7 +347,7 @@ class PlanGenerationTestSuite extends ConnectFunSuite with BeforeAndAfterAll wit } test("colRegex") { - simple.select(simple.colRegex("a|id")) + simple.select(simple.colRegex("`a|id`")) } test("as string") { @@ -428,7 +428,7 @@ class PlanGenerationTestSuite extends ConnectFunSuite with BeforeAndAfterAll wit } test("unionByName") { - simple.unionByName(right) + simple.drop("b").unionByName(right.drop("payload")) } test("unionByName allowMissingColumns") { @@ -718,13 +718,13 @@ class PlanGenerationTestSuite extends ConnectFunSuite with BeforeAndAfterAll wit } columnTest("as multi") { - fn.col("d").as(Array("v1", "v2", "v3")) + fn.expr("inline(map_values(f))").as(Array("v1", "v2", "v3")) } columnTest("as with metadata") { val builder = new MetadataBuilder - builder.putString("comment", "modified C field") - fn.col("c").as("c_mod", builder.build()) + builder.putString("comment", "modified E field") + fn.col("e").as("e_mod", builder.build()) } columnTest("cast") { @@ -772,7 +772,7 @@ class PlanGenerationTestSuite extends ConnectFunSuite with BeforeAndAfterAll wit } columnTest("star with target") { - fn.col("str.*") + fn.col("d.*") } /* Function API */ diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/alias_string.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/alias_string.explain index b7e3d0a62eceb..4e31a67c18f80 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/alias_string.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/alias_string.explain @@ -1 +1,2 @@ -LocalRelation , [none#0L, none#1, none#2] +SubqueryAlias fooz ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/alias_symbol.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/alias_symbol.explain index b7e3d0a62eceb..552164a15c6d7 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/alias_symbol.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/alias_symbol.explain @@ -1 +1,2 @@ -LocalRelation , [none#0L, none#1, none#2] +SubqueryAlias bob ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/apply.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/apply.explain index b0d2c3582155b..a01142070a531 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/apply.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/apply.explain @@ -1,2 +1,2 @@ -'Project ['a] -+- LocalRelation , [none#0L, none#1, none#2] +Project [a#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/as_string.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/as_string.explain index b7e3d0a62eceb..f192daed1a3f9 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/as_string.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/as_string.explain @@ -1 +1,2 @@ -LocalRelation , [none#0L, none#1, none#2] +SubqueryAlias foo ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/as_symbol.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/as_symbol.explain index b7e3d0a62eceb..08bb0d1a86abf 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/as_symbol.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/as_symbol.explain @@ -1 +1,2 @@ -LocalRelation , [none#0L, none#1, none#2] +SubqueryAlias bar ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/coalesce.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/coalesce.explain index 294fa0f73c388..5d300bdd16250 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/coalesce.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/coalesce.explain @@ -1,2 +1,2 @@ Repartition 5, false -+- LocalRelation , [none#0L, none#1, none#2] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/col.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/col.explain index 0a5d0a342dbb0..6219ddc79c1de 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/col.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/col.explain @@ -1,2 +1,2 @@ -'Project ['id, 'b] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/colRegex.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/colRegex.explain index 543b1faaa9958..c0a9b3df30b26 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/colRegex.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/colRegex.explain @@ -1,2 +1,2 @@ -'Project ['a|id] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, a#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_add.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_add.explain index 7a4e1d8c99e5e..a00233be9c556 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_add.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_add.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`+`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) + b#0) AS (a + b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_alias.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_alias.explain index 6599480d99f1a..aa9a6af225846 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_alias.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_alias.explain @@ -1,2 +1,2 @@ -'Project ['a AS #0] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [a#0 AS b#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_and.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_and.explain index f5a189da6f89c..c65419786287e 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_and.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_and.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('and('`>`('a, 10), '`<`('b, 0.5)), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [((a#0 > 10) AND (b#0 < 0.5)) AS ((a > 10) AND (b < 0.5))#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_apply.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_apply.explain index 8ae42a493d837..06025418e24f6 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_apply.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_apply.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('f[super_duper_key], None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [f#0[super_duper_key] AS f[super_duper_key]#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_multi.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_multi.explain index 34d098320fa9b..097223afda75d 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_multi.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_multi.explain @@ -1,2 +1,3 @@ -'Project ['d AS (v1, v2, v3)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [v1#0L, v2#0, v3#0] ++- Generate inline(map_values(f#0)), false, [v1#0L, v2#0, v3#0] + +- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_with_metadata.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_with_metadata.explain index 6e03801f2fec4..9b0e538bf1628 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_with_metadata.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_as_with_metadata.explain @@ -1,2 +1,2 @@ -'Project ['c AS #0] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [e#0 AS e_mod#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc.explain index d1538809a01a2..1223297b2d438 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc.explain @@ -1,2 +1,2 @@ -'Sort ['a ASC NULLS FIRST], true -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Sort [a#0 ASC NULLS FIRST], true ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_first.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_first.explain index d1538809a01a2..1223297b2d438 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_first.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_first.explain @@ -1,2 +1,2 @@ -'Sort ['a ASC NULLS FIRST], true -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Sort [a#0 ASC NULLS FIRST], true ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_last.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_last.explain index 3d8ad392e46c6..62d108d46d527 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_last.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_asc_nulls_last.explain @@ -1,2 +1,2 @@ -'Sort ['a ASC NULLS LAST], true -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Sort [a#0 ASC NULLS LAST], true ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_between.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_between.explain index af895c4fa0d8d..140fefe250f89 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_between.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_between.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('and('`>=`('a, 10), '`<=`('a, 20)), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [((a#0 >= 10) AND (a#0 <= 20)) AS ((a >= 10) AND (a <= 20))#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseAND.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseAND.explain index 49063410a41b6..497e839477e28 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseAND.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseAND.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`&`('a, 255), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(a#0 & 255) AS (a & 255)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseOR.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseOR.explain index 73fc02c35d81c..ceb4f23b43905 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseOR.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseOR.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`|`('a, 7), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(a#0 | 7) AS (a | 7)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseXOR.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseXOR.explain index 37edb68a75fc4..efb99f2993fb6 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseXOR.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_bitwiseXOR.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`^`('a, 78), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(a#0 ^ 78) AS (a ^ 78)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_cast.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_cast.explain index 3587da106aa42..88451be9338a8 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_cast.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_cast.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias(cast('a as bigint), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [cast(a#0 as bigint) AS a#0L] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_contains.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_contains.explain index 3cf63e745a60f..15b561a68f1a0 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_contains.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_contains.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('contains('g, baz), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [Contains(g#0, baz) AS contains(g, baz)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc.explain index 70b7479554a14..89f4080296ac1 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc.explain @@ -1,2 +1,2 @@ -'Sort ['b DESC NULLS LAST], true -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Sort [b#0 DESC NULLS LAST], true ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_first.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_first.explain index 372b32017ca7c..bb12e4aabc946 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_first.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_first.explain @@ -1,2 +1,2 @@ -'Sort ['b DESC NULLS FIRST], true -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Sort [b#0 DESC NULLS FIRST], true ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_last.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_last.explain index 70b7479554a14..89f4080296ac1 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_last.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_desc_nulls_last.explain @@ -1,2 +1,2 @@ -'Sort ['b DESC NULLS LAST], true -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Sort [b#0 DESC NULLS LAST], true ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_divide.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_divide.explain index 08f4f8e393edf..8e8e4de67a3f6 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_divide.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_divide.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`/`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) / cast(b#0 as double)) AS (a / b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_dropFields.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_dropFields.explain index ad5585fcf3c08..3216a4b916084 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_dropFields.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_dropFields.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias(update_fields(update_fields('d, dropfield(a)), dropfield(c)), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [update_fields(d#0, dropfield(a), dropfield(c)) AS update_fields(d, dropfield(), dropfield())#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_endsWith.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_endsWith.explain index 75a9e6fa9f22a..b9144451a2763 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_endsWith.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_endsWith.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('endswith('g, suffix_), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [EndsWith(g#0, suffix_) AS endswith(g, suffix_)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_eqNullSafe.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_eqNullSafe.explain index 39d14ed982749..8b43c43c8de32 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_eqNullSafe.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_eqNullSafe.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`<=>`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) <=> b#0) AS (a <=> b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_equals.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_equals.explain index 2f1eab15525a4..84abc512662cf 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_equals.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_equals.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`=`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) = b#0) AS (a = b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_geq.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_geq.explain index 37e3352670b4f..e7a922f21a763 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_geq.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_geq.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`>=`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) >= b#0) AS (a >= b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_getField.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_getField.explain index 230bd2fb59855..602251709f980 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_getField.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_getField.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('d[b], None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [d#0.b AS d.b#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_getItem.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_getItem.explain index b0e6e9ccf78de..31d522711c580 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_getItem.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_getItem.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('e[3], None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [e#0[3] AS e[3]#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_gt.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_gt.explain index 38cc79bbe7e9a..3f3f44080423c 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_gt.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_gt.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`>`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) > b#0) AS (a > b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_ilike.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_ilike.explain index 588ef3a5b22ef..1fb1a4718a04b 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_ilike.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_ilike.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('like('g, %fOb%), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [g#0 LIKE %fOb% AS g LIKE %fOb%#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNaN.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNaN.explain index 8fcb852a6b1e2..a93e063e4e136 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNaN.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNaN.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('isNaN('b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [isnan(b#0) AS isnan(b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNotNull.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNotNull.explain index ec0497b2591e2..bae67b1787150 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNotNull.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNotNull.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('isNotNull('g), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [isnotnull(g#0) AS (g IS NOT NULL)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNull.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNull.explain index b1a24bf5f2892..085d77bc5e89f 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNull.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isNull.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('isNull('g), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [isnull(g#0) AS (g IS NULL)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isin.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isin.explain index ea92861186cac..f3e33acbaa8f6 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_isin.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_isin.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('g IN (hello,world,foo), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [g#0 IN (hello,world,foo) AS (g IN (hello, world, foo))#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_leq.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_leq.explain index 01fcaee9ba089..dc23b7fabaf9c 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_leq.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_leq.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`<=`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) <= b#0) AS (a <= b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_like.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_like.explain index 54c8d50eabf56..ade16bb349aaa 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_like.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_like.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('like('g, %bob%), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [g#0 LIKE %bob% AS g LIKE %bob%#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_lt.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_lt.explain index 2438cf3ea4e78..62c664e3b25c2 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_lt.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_lt.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`<`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) < b#0) AS (a < b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_modulo.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_modulo.explain index d010d609b84a8..b2fa105afc1fc 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_modulo.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_modulo.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`%`('a, 10), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(a#0 % 10) AS (a % 10)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_multiply.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_multiply.explain index 3bb266b609fdd..14a8a180ffa06 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_multiply.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_multiply.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`*`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) * b#0) AS (a * b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_not.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_not.explain index 897371ed75c29..3bf350c7964b4 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_not.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_not.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`!`(true), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [NOT true AS (NOT true)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_not_equals.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_not_equals.explain index 7ebf39127e875..249c00c568e75 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_not_equals.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_not_equals.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`!`('`=`('a, 'b)), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [NOT (cast(a#0 as double) = b#0) AS (NOT (a = b))#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_or.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_or.explain index a5e77e366396d..1447d506d3333 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_or.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_or.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('or('`>`('a, 10), '`<`('b, 0.5)), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [((a#0 > 10) OR (b#0 < 0.5)) AS ((a > 10) OR (b < 0.5))#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_rlike.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_rlike.explain index 8cf1f42bcab23..89a351f1ec7b1 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_rlike.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_rlike.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('like('g, ^[0-9]*$), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [g#0 LIKE ^[0-9]*$ AS g LIKE ^[0-9]*$#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_star.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_star.explain index a9384942aa1c8..d2bcd89c109ac 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_star.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_star.explain @@ -1,2 +1,2 @@ -'Project [*] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_star_with_target.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_star_with_target.explain index f3366709711f0..0ae702c2c6bd2 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_star_with_target.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_star_with_target.explain @@ -1,2 +1,2 @@ -'Project [str.*] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [d#0.id AS id#0L, d#0.a AS a#0, d#0.b AS b#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_startsWith.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_startsWith.explain index bdf95dba32497..0e4d63ca6001c 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_startsWith.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_startsWith.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('startswith('g, prefix_), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [StartsWith(g#0, prefix_) AS startswith(g, prefix_)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_substr.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_substr.explain index f3e081be5dbf8..b9c8b8646c960 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_substr.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_substr.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('substr('g, 8, 3), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [substr(g#0, 8, 3) AS substr(g, 8, 3)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_subtract.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_subtract.explain index eb56ecad48460..9b1eb4866d1b1 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_subtract.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_subtract.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('`-`('a, 'b), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [(cast(a#0 as double) - b#0) AS (a - b)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_unary_minus.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_unary_minus.explain index 95354071643c6..b2b7bcfb85563 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_unary_minus.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_unary_minus.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('negative(1), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [-1 AS negative(1)#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_when_otherwise.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_when_otherwise.explain index 8f972122b13df..62858aad0df57 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_when_otherwise.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_when_otherwise.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias(CASE WHEN '`<`('a, 10) THEN low WHEN '`<`('a, 20) THEN medium ELSE high END, None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [CASE WHEN (a#0 < 10) THEN low WHEN (a#0 < 20) THEN medium ELSE high END AS CASE WHEN (a < 10) THEN low WHEN (a < 20) THEN medium ELSE high END#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/column_withField.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/column_withField.explain index 386554d6e4708..575fe0b0fd751 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/column_withField.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/column_withField.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias(update_fields('d, WithField(x, xq)), None)] -+- LocalRelation , [none#0L, none#1, none#2, none#3, none#4, none#5, none#6] +Project [update_fields(d#0, WithField(x, xq)) AS update_fields(d, WithField(xq))#0] ++- LocalRelation , [id#0L, a#0, b#0, d#0, e#0, f#0, g#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/crossJoin.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/crossJoin.explain index 05c0d319db40b..612f8337ac9b2 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/crossJoin.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/crossJoin.explain @@ -1,3 +1,3 @@ 'Join Cross -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/describe.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/describe.explain index 3f88f836b4b95..f205f7ef7a140 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/describe.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/describe.explain @@ -1,6 +1,6 @@ -Project [none#2, element_at(none#0, none#2, None, false) AS #0, element_at(none#1, none#2, None, false) AS #1] -+- !Project [none#0, none#1, none#2] - +- Generate explode([count,mean,stddev,min,max]), false, [none#0] - +- !Aggregate [map(cast(count as string), cast(count(none#0L) as string), cast(mean as string), cast(avg(none#0L) as string), cast(stddev as string), cast(stddev_samp(cast(none#0L as double)) as string), cast(min as string), cast(min(none#0L) as string), cast(max as string), cast(max(none#0L) as string)) AS #0, map(cast(count as string), cast(count(none#1) as string), cast(mean as string), cast(avg(none#1) as string), cast(stddev as string), cast(stddev_samp(none#1) as string), cast(min as string), cast(min(none#1) as string), cast(max as string), cast(max(none#1) as string)) AS #1] - +- Project [none#0L, none#2] - +- LocalRelation , [none#0L, none#1, none#2] +Project [summary#0, element_at(id#0, summary#0, None, false) AS id#0, element_at(b#0, summary#0, None, false) AS b#0] ++- Project [id#0, b#0, summary#0] + +- Generate explode([count,mean,stddev,min,max]), false, [summary#0] + +- Aggregate [map(cast(count as string), cast(count(id#0L) as string), cast(mean as string), cast(avg(id#0L) as string), cast(stddev as string), cast(stddev_samp(cast(id#0L as double)) as string), cast(min as string), cast(min(id#0L) as string), cast(max as string), cast(max(id#0L) as string)) AS id#0, map(cast(count as string), cast(count(b#0) as string), cast(mean as string), cast(avg(b#0) as string), cast(stddev as string), cast(stddev_samp(b#0) as string), cast(min as string), cast(min(b#0) as string), cast(max as string), cast(max(b#0) as string)) AS b#0] + +- Project [id#0L, b#0] + +- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/distinct.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/distinct.explain index e4da86166ddf6..e809829dfa59e 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/distinct.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/distinct.explain @@ -1,2 +1,2 @@ -Deduplicate [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +Deduplicate [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates.explain index e4da86166ddf6..e809829dfa59e 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates.explain @@ -1,2 +1,2 @@ -Deduplicate [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +Deduplicate [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_array.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_array.explain index 9f8c1bb8d915c..6a85a347caf50 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_array.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_array.explain @@ -1,2 +1,2 @@ -Deduplicate [none#1, none#0L] -+- LocalRelation , [none#0L, none#1, none#2] +Deduplicate [a#0, id#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_seq.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_seq.explain index cd7bbac89dfe2..5af0ec857d264 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_seq.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_names_seq.explain @@ -1,2 +1,2 @@ -Deduplicate [none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +Deduplicate [a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_varargs.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_varargs.explain index b034ead771dee..0a9079864d5da 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_varargs.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/dropDuplicates_varargs.explain @@ -1,2 +1,2 @@ -Deduplicate [none#1, none#2, none#0L] -+- LocalRelation , [none#0L, none#1, none#2] +Deduplicate [a#0, b#0, id#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_column.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_column.explain index d50b141178406..a01142070a531 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_column.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_column.explain @@ -1,2 +1,2 @@ -Project [none#1] -+- LocalRelation , [none#0L, none#1, none#2] +Project [a#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_strings.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_strings.explain index 75d78bac2d9f9..bdd178772c8d9 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_strings.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_multiple_strings.explain @@ -1,2 +1,2 @@ Project -+- LocalRelation , [none#0L, none#1, none#2] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_column.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_column.explain index d63618297e573..c0a9b3df30b26 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_column.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_column.explain @@ -1,2 +1,2 @@ -Project [none#0L, none#1] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, a#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_string.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_string.explain index 7eaf23106a19a..6219ddc79c1de 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_string.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/drop_single_string.explain @@ -1,2 +1,2 @@ -Project [none#0L, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/except.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/except.explain index eb3c62c6f5100..d9e8cc93af5d2 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/except.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/except.explain @@ -1,3 +1,3 @@ 'Except false -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/exceptAll.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/exceptAll.explain index 95882222ba0ea..5519e85b1fe03 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/exceptAll.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/exceptAll.explain @@ -1,3 +1,3 @@ 'Except All true -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/filter.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/filter.explain index de1e9764a7c2f..442db6ee85acc 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/filter.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/filter.explain @@ -1,2 +1,2 @@ -'Filter '`=`('id, 10) -+- LocalRelation , [none#0L, none#1, none#2] +Filter (id#0L = 10) ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/filter_expr.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/filter_expr.explain index 4a4d83cbbe36a..831e7c6cf5705 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/filter_expr.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/filter_expr.explain @@ -1,2 +1,2 @@ -'Filter (10.0 > 'exp('a)) -+- LocalRelation , [none#0L, none#1, none#2] +Filter (EXP(cast(a#0 as double)) < cast(10.0 as double)) ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/function_col.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/function_col.explain index 6915b579dfde8..aac54ef566259 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/function_col.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/function_col.explain @@ -1,2 +1,2 @@ -'Project ['id] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/function_lit.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/function_lit.explain index d7b3a22675dc2..11454267c37b5 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/function_lit.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/function_lit.explain @@ -1,2 +1,2 @@ -'Project ['id, 'id, unresolvedalias(true, None), unresolvedalias(68, None), unresolvedalias(9872, None), unresolvedalias(-8726532, None), unresolvedalias(7834609328726532, None), unresolvedalias(2.718281828459045, None), unresolvedalias(-0.8, None), unresolvedalias(89.97620, None), unresolvedalias(89889.7667231, None), unresolvedalias(connect!, None), unresolvedalias(T, None), unresolvedalias(ABCDEFGHIJ, None), unresolvedalias(0x78797A7B7C7D7E7F808182838485868788898A8B8C8D8E, None), unresolvedalias(0x0806, None), unresolvedalias(2020-10-10, None)] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, id#0L, true AS true#0, 68 AS 68#0, 9872 AS 9872#0, -8726532 AS -8726532#0, 7834609328726532 AS 7834609328726532#0L, 2.718281828459045 AS 2.718281828459045#0, -0.8 AS -0.8#0, 89.97620 AS 89.97620#0, 89889.7667231 AS 89889.7667231#0, connect! AS connect!#0, T AS T#0, ABCDEFGHIJ AS ABCDEFGHIJ#0, 0x78797A7B7C7D7E7F808182838485868788898A8B8C8D8E AS X'78797A7B7C7D7E7F808182838485868788898A8B8C8D8E'#0, 0x0806 AS X'0806'#0, 2020-10-10 AS DATE '2020-10-10'#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/function_max.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/function_max.explain index 077ba5498b12a..06adc24970f60 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/function_max.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/function_max.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias('max('id), None)] -+- LocalRelation , [none#0L, none#1, none#2] +Aggregate [max(id#0L) AS max(id)#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/hint.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/hint.explain index 71ec808a2219f..210be491c38c8 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/hint.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/hint.explain @@ -1,2 +1,2 @@ -UnresolvedHint coalesce, [100] -+- LocalRelation , [none#0L, none#1, none#2] +Repartition 100, false ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/intersect.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/intersect.explain index 89b24beb6fe0a..b779995c98915 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/intersect.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/intersect.explain @@ -1,3 +1,3 @@ 'Intersect false -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/intersectAll.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/intersectAll.explain index 5159e4f5d1e1c..537b25838f54e 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/intersectAll.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/intersectAll.explain @@ -1,3 +1,3 @@ 'Intersect All true -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_condition.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_condition.explain index a0f818eb7db72..31681777a393e 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_condition.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_condition.explain @@ -1,3 +1,5 @@ -'Join LeftAnti, '`=`('id, 'id) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Join LeftAnti, (id#0L = id#0L) +:- SubqueryAlias l +: +- LocalRelation , [id#0L, a#0, b#0] ++- SubqueryAlias r + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_condition.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_condition.explain index f0bd1db03ac8c..c8f41d0927369 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_condition.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_condition.explain @@ -1,3 +1,5 @@ -'Join Inner, '`=`('a, 'a) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Join Inner, (a#0 = a#0) +:- SubqueryAlias l +: +- LocalRelation , [id#0L, a#0, b#0] ++- SubqueryAlias r + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_no_condition.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_no_condition.explain index df290259b0ac5..1414616da4d59 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_no_condition.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_no_condition.explain @@ -1,3 +1,3 @@ 'Join Inner -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_array.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_array.explain index 8df79323f39e9..ed29cef333a91 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_array.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_array.explain @@ -1,3 +1,4 @@ -'Join UsingJoin(Inner, [id, a]) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Project [id#0L, a#0, b#0, payload#0] ++- 'Join Inner, ((id#0L = id#0L) AND (a#0 = a#0)) + :- LocalRelation , [id#0L, a#0, b#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_seq.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_seq.explain index 8df79323f39e9..ed29cef333a91 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_seq.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_multiple_col_seq.explain @@ -1,3 +1,4 @@ -'Join UsingJoin(Inner, [id, a]) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Project [id#0L, a#0, b#0, payload#0] ++- 'Join Inner, ((id#0L = id#0L) AND (a#0 = a#0)) + :- LocalRelation , [id#0L, a#0, b#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_single_col.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_single_col.explain index 8f83aaf56c116..8667e407dd3a4 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_single_col.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_inner_using_single_col.explain @@ -1,3 +1,4 @@ -'Join UsingJoin(Inner, [id]) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Project [id#0L, a#0, b#0, a#0, payload#0] ++- 'Join Inner, (id#0L = id#0L) + :- LocalRelation , [id#0L, a#0, b#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_array.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_array.explain index 4b7bfe92868c7..6586d67708b6b 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_array.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_array.explain @@ -1,3 +1,4 @@ -'Join UsingJoin(FullOuter, [id, a]) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Project [coalesce(id#0L, id#0L) AS id#0L, coalesce(a#0, a#0) AS a#0, b#0, payload#0] ++- 'Join FullOuter, ((id#0L = id#0L) AND (a#0 = a#0)) + :- LocalRelation , [id#0L, a#0, b#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_seq.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_seq.explain index 7fb3e44a2387e..ed47c617337a8 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_seq.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_multiple_col_seq.explain @@ -1,3 +1,4 @@ -'Join UsingJoin(RightOuter, [id, a]) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Project [id#0L, a#0, b#0, payload#0] ++- 'Join RightOuter, ((id#0L = id#0L) AND (a#0 = a#0)) + :- LocalRelation , [id#0L, a#0, b#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_single_col.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_single_col.explain index a5f9651e8be3b..64553477f7589 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_single_col.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/join_using_single_col.explain @@ -1,3 +1,4 @@ -'Join UsingJoin(LeftSemi, [id]) -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +'Project [id#0L, a#0, b#0] ++- 'Join LeftSemi, (id#0L = id#0L) + :- LocalRelation , [id#0L, a#0, b#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/limit.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/limit.explain index 4cfee65478b84..3d445331b3527 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/limit.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/limit.explain @@ -1,3 +1,3 @@ GlobalLimit 10 +- LocalLimit 10 - +- LocalRelation , [none#0L, none#1, none#2] + +- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/melt_no_values.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/melt_no_values.explain index 36566b68c9516..f61fc30a3a529 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/melt_no_values.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/melt_no_values.explain @@ -1,2 +1,2 @@ -'Unpivot ArraySeq('id, 'a), , [value] -+- LocalRelation , [none#0L, none#1, none#2] +Expand [[id#0L, a#0, b, b#0]], [id#0L, a#0, #0, value#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/melt_values.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/melt_values.explain index e11778c63bb4f..b5742d976dee9 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/melt_values.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/melt_values.explain @@ -1,2 +1,2 @@ -'Unpivot ArraySeq('a), ArraySeq(List('id)), , [value] -+- LocalRelation , [none#0L, none#1, none#2] +Expand [[a#0, id, id#0L]], [a#0, #0, value#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/offset.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/offset.explain index 2da5793105917..f1f294242628f 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/offset.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/offset.explain @@ -1,2 +1,2 @@ Offset 1000 -+- LocalRelation , [none#0L, none#1, none#2] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_columns.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_columns.explain index 590171987960d..f663d0dabe134 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_columns.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_columns.explain @@ -1,2 +1,2 @@ -'Sort ['id ASC NULLS FIRST, 'b ASC NULLS FIRST, 'a ASC NULLS FIRST], true -+- LocalRelation , [none#0L, none#1, none#2] +Sort [id#0L ASC NULLS FIRST, b#0 ASC NULLS FIRST, a#0 ASC NULLS FIRST], true ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_strings.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_strings.explain index 3b005e5a1ddd4..dddaffbc84501 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_strings.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/orderBy_strings.explain @@ -1,2 +1,2 @@ -'Sort ['b ASC NULLS FIRST, 'id ASC NULLS FIRST, 'a ASC NULLS FIRST], true -+- LocalRelation , [none#0L, none#1, none#2] +Sort [b#0 ASC NULLS FIRST, id#0L ASC NULLS FIRST, a#0 ASC NULLS FIRST], true ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read.explain index 30e5ec4542c9c..da1c0f25e548b 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read.explain @@ -1 +1 @@ -Relation [none#0,none#1,none#2] csv +Relation [name#0,age#0,job#0] csv diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read_csv.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read_csv.explain index 069e76a815488..4479893592a53 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read_csv.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read_csv.explain @@ -1 +1 @@ -Relation [none#0] csv +Relation [_c0#0] csv diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read_json.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read_json.explain index ead927c8f24fa..871c86c239b93 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read_json.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read_json.explain @@ -1 +1 @@ -Relation [none#0L,none#1] json +Relation [age#0L,name#0] json diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read_orc.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read_orc.explain index 9a8b1aab953fa..c5cff325e5e72 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read_orc.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read_orc.explain @@ -1 +1 @@ -Relation [none#0,none#1,none#2] orc +Relation [name#0,favorite_color#0,favorite_numbers#0] orc diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read_parquet.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read_parquet.explain index 9fd4f43aeee0b..f77414dc47e14 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read_parquet.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read_parquet.explain @@ -1 +1 @@ -Relation [none#0,none#1,none#2] parquet +Relation [name#0,favorite_color#0,favorite_numbers#0] parquet diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read_path.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read_path.explain index 70393afccb202..bad6a06e3fdc0 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read_path.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read_path.explain @@ -1 +1 @@ -Relation [none#0,none#1] csv +Relation [name#0,age#0] csv diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read_table.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read_table.explain index 0ec9812e3b937..11a96567dbcad 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read_table.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read_table.explain @@ -1 +1,2 @@ -'UnresolvedRelation [myTable], [], false +SubqueryAlias primary.tempdb.myTable ++- RelationV2[id#0L] primary.tempdb.myTable primary.tempdb.myTable diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/read_text.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/read_text.explain index 3e78575dac6c0..1002d71460357 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/read_text.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/read_text.explain @@ -1 +1 @@ -Relation [none#0] text +Relation [value#0] text diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/repartition.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/repartition.explain index dd6c0fe4062e2..f30594bc18c81 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/repartition.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/repartition.explain @@ -1,2 +1,2 @@ Repartition 24, true -+- LocalRelation , [none#0L, none#1, none#2] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_expressions.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_expressions.explain index 2f169429f81a1..d38e6a0075f33 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_expressions.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_expressions.explain @@ -1,2 +1,2 @@ -'RepartitionByExpression ['a ASC NULLS FIRST, 'id DESC NULLS FIRST] -+- LocalRelation , [none#0L, none#1, none#2] +RepartitionByExpression [a#0 ASC NULLS FIRST, id#0L DESC NULLS FIRST] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_num_partitions_expressions.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_num_partitions_expressions.explain index 054f8ad05bb71..d9c9678ab5e07 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_num_partitions_expressions.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/repartitionByRange_num_partitions_expressions.explain @@ -1,2 +1,2 @@ -'RepartitionByExpression ['b ASC NULLS FIRST, 'id DESC NULLS FIRST], 33 -+- LocalRelation , [none#0L, none#1, none#2] +RepartitionByExpression [b#0 ASC NULLS FIRST, id#0L DESC NULLS FIRST], 33 ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_expressions.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_expressions.explain index e6f09597d7d99..3b602b4fd71a8 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_expressions.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_expressions.explain @@ -1,2 +1,2 @@ -'RepartitionByExpression ['id, 'b] -+- LocalRelation , [none#0L, none#1, none#2] +RepartitionByExpression [id#0L, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_num_partitions_expressions.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_num_partitions_expressions.explain index dbf1e52e2d3b7..e65dc5cd7b81f 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_num_partitions_expressions.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/repartition_num_partitions_expressions.explain @@ -1,2 +1,2 @@ -'RepartitionByExpression ['a, 'id], 22 -+- LocalRelation , [none#0L, none#1, none#2] +RepartitionByExpression [a#0, id#0L], 22 ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/sample_fraction_seed.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/sample_fraction_seed.explain index 9981205d7afad..f94e0a850e403 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/sample_fraction_seed.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/sample_fraction_seed.explain @@ -1,2 +1,2 @@ Sample 0.0, 0.43, false, 9890823 -+- LocalRelation , [none#0L, none#1, none#2] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/sample_withReplacement_fraction_seed.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/sample_withReplacement_fraction_seed.explain index 4e2d884bb3770..340c25ab6d017 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/sample_withReplacement_fraction_seed.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/sample_withReplacement_fraction_seed.explain @@ -1,2 +1,2 @@ Sample 0.0, 0.23, true, 898 -+- LocalRelation , [none#0L, none#1, none#2] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/select.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/select.explain index 6915b579dfde8..aac54ef566259 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/select.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/select.explain @@ -1,2 +1,2 @@ -'Project ['id] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/selectExpr.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/selectExpr.explain index 53eaa9352a404..935a26e47d327 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/selectExpr.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/selectExpr.explain @@ -1,2 +1,2 @@ -'Project [('a + 10) AS #0, ('id % 10) AS #1] -+- LocalRelation , [none#0L, none#1, none#2] +Project [(a#0 + 10) AS x#0, (id#0L % cast(10 as bigint)) AS grp#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/select_strings.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/select_strings.explain index 61526cc6042d2..c0a9b3df30b26 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/select_strings.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/select_strings.explain @@ -1,2 +1,2 @@ -'Project ['id, 'a] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, a#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_columns.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_columns.explain index 79ae0d702aae3..ce1e7ae6f4c0a 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_columns.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_columns.explain @@ -1,2 +1,2 @@ -'Sort ['id ASC NULLS FIRST, 'b ASC NULLS FIRST], false -+- LocalRelation , [none#0L, none#1, none#2] +Sort [id#0L ASC NULLS FIRST, b#0 ASC NULLS FIRST], false ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_strings.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_strings.explain index 9d49e22afe450..373960f809bac 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_strings.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/sortWithinPartitions_strings.explain @@ -1,2 +1,2 @@ -'Sort ['a ASC NULLS FIRST, 'id ASC NULLS FIRST], false -+- LocalRelation , [none#0L, none#1, none#2] +Sort [a#0 ASC NULLS FIRST, id#0L ASC NULLS FIRST], false ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/sort_columns.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/sort_columns.explain index ce5e8ea1f8dc4..8cb023ce5fbad 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/sort_columns.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/sort_columns.explain @@ -1,2 +1,2 @@ -'Sort ['id ASC NULLS FIRST, 'b ASC NULLS FIRST], true -+- LocalRelation , [none#0L, none#1, none#2] +Sort [id#0L ASC NULLS FIRST, b#0 ASC NULLS FIRST], true ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/sort_strings.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/sort_strings.explain index 96c18b836c17e..2d060dc9fb8bd 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/sort_strings.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/sort_strings.explain @@ -1,2 +1,2 @@ -'Sort ['b ASC NULLS FIRST, 'a ASC NULLS FIRST], true -+- LocalRelation , [none#0L, none#1, none#2] +Sort [b#0 ASC NULLS FIRST, a#0 ASC NULLS FIRST], true ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/sql.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/sql.explain index 61a0e23e3df26..7f5aafb1943a7 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/sql.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/sql.explain @@ -1,2 +1,2 @@ -'Project [unresolvedalias(1, None)] +Project [1 AS 1#0] +- OneRowRelation diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/summary.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/summary.explain index 98f69703a4c93..3ce8a26f13834 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/summary.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/summary.explain @@ -1,5 +1,5 @@ -Project [none#3, element_at(none#0, none#3, None, false) AS #0, element_at(none#1, none#3, None, false) AS #1, element_at(none#2, none#3, None, false) AS #2] -+- !Project [none#0, none#1, none#2, none#3] - +- Generate explode([mean,min]), false, [none#0] - +- Aggregate [map(cast(mean as string), cast(avg(none#0L) as string), cast(min as string), cast(min(none#0L) as string)) AS #0, map(cast(mean as string), cast(avg(none#1) as string), cast(min as string), cast(min(none#1) as string)) AS #1, map(cast(mean as string), cast(avg(none#2) as string), cast(min as string), cast(min(none#2) as string)) AS #2] - +- LocalRelation , [none#0L, none#1, none#2] +Project [summary#0, element_at(id#0, summary#0, None, false) AS id#0, element_at(a#0, summary#0, None, false) AS a#0, element_at(b#0, summary#0, None, false) AS b#0] ++- Project [id#0, a#0, b#0, summary#0] + +- Generate explode([mean,min]), false, [summary#0] + +- Aggregate [map(cast(mean as string), cast(avg(id#0L) as string), cast(min as string), cast(min(id#0L) as string)) AS id#0, map(cast(mean as string), cast(avg(a#0) as string), cast(min as string), cast(min(a#0) as string)) AS a#0, map(cast(mean as string), cast(avg(b#0) as string), cast(min as string), cast(min(b#0) as string)) AS b#0] + +- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/table.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/table.explain index 0ec9812e3b937..11a96567dbcad 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/table.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/table.explain @@ -1 +1,2 @@ -'UnresolvedRelation [myTable], [], false +SubqueryAlias primary.tempdb.myTable ++- RelationV2[id#0L] primary.tempdb.myTable primary.tempdb.myTable diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/to.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/to.explain index cc952f01a8389..1e113ce4ddefe 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/to.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/to.explain @@ -1,2 +1,2 @@ -Project [none#2, cast(none#0L as int) AS #0] -+- LocalRelation , [none#0L, none#1, none#2] +Project [b#0, cast(id#0L as int) AS id#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/toDF.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/toDF.explain index aa71dcd523154..e751403f8d43a 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/toDF.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/toDF.explain @@ -1,2 +1,2 @@ -Project [none#0L AS #0L, none#1 AS #1, none#2 AS #2] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L AS x1#0L, a#0 AS x2#0, b#0 AS x3#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/union.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/union.explain index 8d2530c495920..4d5d1f53b8412 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/union.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/union.explain @@ -1,3 +1,3 @@ Union false, false -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/unionAll.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/unionAll.explain index 8d2530c495920..4d5d1f53b8412 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/unionAll.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/unionAll.explain @@ -1,3 +1,3 @@ Union false, false -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +:- LocalRelation , [id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName.explain index 104217a175d24..ed960186ad4d8 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName.explain @@ -1,3 +1,5 @@ -'Union true, false -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +Union false, false +:- Project [id#0L, a#0] +: +- LocalRelation , [id#0L, a#0, b#0] ++- Project [id#0L, a#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName_allowMissingColumns.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName_allowMissingColumns.explain index 70d1955f58d9f..96bd9f281c15e 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName_allowMissingColumns.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/unionByName_allowMissingColumns.explain @@ -1,3 +1,5 @@ -'Union true, true -:- LocalRelation , [none#0L, none#1, none#2] -+- LocalRelation , [none#0, none#1L, none#2] +Union false, false +:- Project [id#0L, a#0, b#0, null AS payload#0] +: +- LocalRelation , [id#0L, a#0, b#0] ++- Project [id#0L, a#0, null AS b#0, payload#0] + +- LocalRelation , [a#0, id#0L, payload#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_no_values.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_no_values.explain index 3d3331f31f937..8d1749ee74c5a 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_no_values.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_no_values.explain @@ -1,2 +1,2 @@ -'Unpivot ArraySeq('id), , [value] -+- LocalRelation , [none#0L, none#1, none#2] +Expand [[id#0L, a, cast(a#0 as double)], [id#0L, b, b#0]], [id#0L, #0, value#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_values.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_values.explain index a7b5b5304632b..f61fc30a3a529 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_values.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/unpivot_values.explain @@ -1,2 +1,2 @@ -'Unpivot ArraySeq('id, 'a), ArraySeq(List('b)), , [value] -+- LocalRelation , [none#0L, none#1, none#2] +Expand [[id#0L, a#0, b, b#0]], [id#0L, a#0, #0, value#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/where_column.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/where_column.explain index 9580f08b5e668..bb4aa22afe02f 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/where_column.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/where_column.explain @@ -1,2 +1,2 @@ -'Filter '`=`('id, 1) -+- LocalRelation , [none#0L, none#1, none#2] +Filter (id#0L = 1) ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/where_expr.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/where_expr.explain index 0c3be1cbef377..cce42b721169a 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/where_expr.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/where_expr.explain @@ -1,2 +1,2 @@ -'Filter (1000 > ('a + 'id)) -+- LocalRelation , [none#0L, none#1, none#2] +Filter ((cast(a#0 as bigint) + id#0L) < cast(1000 as bigint)) ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_java_map.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_java_map.explain index 2fed4e66ac5e9..0bacc8a11d231 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_java_map.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_java_map.explain @@ -1,2 +1,2 @@ -Project [none#0L AS #0L, none#1, none#2 AS #1] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L AS nid#0L, a#0, b#0 AS bravo#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_scala_map.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_scala_map.explain index 9a22c8ad5cb38..56bed6fca9a58 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_scala_map.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_scala_map.explain @@ -1,2 +1,2 @@ -Project [none#0L, none#1 AS #0, none#2 AS #1] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, a#0 AS alpha#0, b#0 AS beta#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_single.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_single.explain index 07dec2eba0f77..f4713f5fbc2ed 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_single.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumnRenamed_single.explain @@ -1,2 +1,2 @@ -Project [none#0L AS #0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L AS nid#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumn_single.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumn_single.explain index fe8ec9459bc5d..958529c1121fc 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumn_single.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumn_single.explain @@ -1,2 +1,2 @@ -Project [none#0L, none#1, none#2, (100 + none#1) AS #0] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, a#0, b#0, (a#0 + 100) AS z#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_java_map.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_java_map.explain index 6702dc2f18ecb..dadb7bfbd861e 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_java_map.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_java_map.explain @@ -1,2 +1,2 @@ -Project [none#0L, 123 AS #0, none#2, none#0L AS #1L] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, 123 AS a#0, b#0, id#0L AS g#0L] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_scala_map.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_scala_map.explain index 97066dbe7df28..3866cbbba70a7 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_scala_map.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/withColumns_scala_map.explain @@ -1,2 +1,2 @@ -Project [none#0L, none#1, redacted AS #0, (100 + none#1) AS #1] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L, a#0, redacted AS b#0, (a#0 + 100) AS z#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/explain-results/withMetadata.explain b/connector/connect/common/src/test/resources/query-tests/explain-results/withMetadata.explain index 07dec2eba0f77..0bd68ea4e8a1b 100644 --- a/connector/connect/common/src/test/resources/query-tests/explain-results/withMetadata.explain +++ b/connector/connect/common/src/test/resources/query-tests/explain-results/withMetadata.explain @@ -1,2 +1,2 @@ -Project [none#0L AS #0L, none#1, none#2] -+- LocalRelation , [none#0L, none#1, none#2] +Project [id#0L AS id#0L, a#0, b#0] ++- LocalRelation , [id#0L, a#0, b#0] diff --git a/connector/connect/common/src/test/resources/query-tests/queries/colRegex.json b/connector/connect/common/src/test/resources/query-tests/queries/colRegex.json index bb4c89e451654..90d35213bbbfe 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/colRegex.json +++ b/connector/connect/common/src/test/resources/query-tests/queries/colRegex.json @@ -7,7 +7,7 @@ }, "expressions": [{ "unresolvedRegex": { - "colName": "a|id" + "colName": "`a|id`" } }] } diff --git a/connector/connect/common/src/test/resources/query-tests/queries/colRegex.proto.bin b/connector/connect/common/src/test/resources/query-tests/queries/colRegex.proto.bin index 1a3b97ea0f5e1..6503926be7a46 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/colRegex.proto.bin +++ b/connector/connect/common/src/test/resources/query-tests/queries/colRegex.proto.bin @@ -1,3 +1,4 @@ -0 -$Z" structB -a|id \ No newline at end of file +2 +$Z" struct +B +`a|id` \ No newline at end of file diff --git a/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.json b/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.json index 940f6a5139c5e..15c6c6cf09354 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.json +++ b/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.json @@ -8,8 +8,8 @@ "expressions": [{ "alias": { "expr": { - "unresolvedAttribute": { - "unparsedIdentifier": "d" + "expressionString": { + "expression": "inline(map_values(f))" } }, "name": ["v1", "v2", "v3"] diff --git a/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.proto.bin b/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.proto.bin index a8568f73f8dc6..4762a9fad8c46 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.proto.bin +++ b/connector/connect/common/src/test/resources/query-tests/queries/column_as_multi.proto.bin @@ -1,4 +1,4 @@ -¨ -ŽZ‹ˆstruct,e:array,f:map>,g:string>2 - -dv1v2v3 \ No newline at end of file +¼ +ŽZ‹ˆstruct,e:array,f:map>,g:string>)2' +" +inline(map_values(f))v1v2v3 \ No newline at end of file diff --git a/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.json b/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.json index 6c399f9959eab..dff2912f8b6cf 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.json +++ b/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.json @@ -9,11 +9,11 @@ "alias": { "expr": { "unresolvedAttribute": { - "unparsedIdentifier": "c" + "unparsedIdentifier": "e" } }, - "name": ["c_mod"], - "metadata": "{\"comment\":\"modified C field\"}" + "name": ["e_mod"], + "metadata": "{\"comment\":\"modified E field\"}" } }] } diff --git a/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.proto.bin b/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.proto.bin index 65161a7a307b6..83592a71e5caf 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.proto.bin +++ b/connector/connect/common/src/test/resources/query-tests/queries/column_as_with_metadata.proto.bin @@ -1,4 +1,4 @@ à ŽZ‹ˆstruct,e:array,f:map>,g:string>02.  -cc_mod{"comment":"modified C field"} \ No newline at end of file +ee_mod{"comment":"modified E field"} \ No newline at end of file diff --git a/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.json b/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.json index 2b873369b9d9a..26372cb4e5014 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.json +++ b/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.json @@ -7,7 +7,7 @@ }, "expressions": [{ "unresolvedStar": { - "unparsedTarget": "str.*" + "unparsedTarget": "d.*" } }] } diff --git a/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.proto.bin b/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.proto.bin index a15c03b48b93a..63c5c7f5330dc 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.proto.bin +++ b/connector/connect/common/src/test/resources/query-tests/queries/column_star_with_target.proto.bin @@ -1,3 +1,3 @@ -œ -ŽZ‹ˆstruct,e:array,f:map>,g:string> * -str.* \ No newline at end of file +š +ŽZ‹ˆstruct,e:array,f:map>,g:string>* +d.* \ No newline at end of file diff --git a/connector/connect/common/src/test/resources/query-tests/queries/join_condition.json b/connector/connect/common/src/test/resources/query-tests/queries/join_condition.json index b152642b547b1..94abd7a159f1c 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/join_condition.json +++ b/connector/connect/common/src/test/resources/query-tests/queries/join_condition.json @@ -1,13 +1,23 @@ { "join": { "left": { - "localRelation": { - "schema": "struct\u003cid:bigint,a:int,b:double\u003e" + "subqueryAlias": { + "input": { + "localRelation": { + "schema": "struct\u003cid:bigint,a:int,b:double\u003e" + } + }, + "alias": "l" } }, "right": { - "localRelation": { - "schema": "struct\u003ca:int,id:bigint,payload:binary\u003e" + "subqueryAlias": { + "input": { + "localRelation": { + "schema": "struct\u003ca:int,id:bigint,payload:binary\u003e" + } + }, + "alias": "r" } }, "joinCondition": { @@ -15,11 +25,11 @@ "functionName": "\u003d", "arguments": [{ "unresolvedAttribute": { - "unparsedIdentifier": "id" + "unparsedIdentifier": "l.id" } }, { "unresolvedAttribute": { - "unparsedIdentifier": "id" + "unparsedIdentifier": "r.id" } }] } diff --git a/connector/connect/common/src/test/resources/query-tests/queries/join_condition.proto.bin b/connector/connect/common/src/test/resources/query-tests/queries/join_condition.proto.bin index a1464a72ea809..84ddc108103c2 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/join_condition.proto.bin +++ b/connector/connect/common/src/test/resources/query-tests/queries/join_condition.proto.bin @@ -1,5 +1,7 @@ -*k -$Z" struct*Z(&struct -= -id -id  \ No newline at end of file +* +,‚) +$Z" structl2‚/ +*Z(&structr += +l.id +r.id  \ No newline at end of file diff --git a/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.json b/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.json index 28949407af41e..36e203a425614 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.json +++ b/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.json @@ -1,13 +1,23 @@ { "join": { "left": { - "localRelation": { - "schema": "struct\u003cid:bigint,a:int,b:double\u003e" + "subqueryAlias": { + "input": { + "localRelation": { + "schema": "struct\u003cid:bigint,a:int,b:double\u003e" + } + }, + "alias": "l" } }, "right": { - "localRelation": { - "schema": "struct\u003ca:int,id:bigint,payload:binary\u003e" + "subqueryAlias": { + "input": { + "localRelation": { + "schema": "struct\u003ca:int,id:bigint,payload:binary\u003e" + } + }, + "alias": "r" } }, "joinCondition": { @@ -15,11 +25,11 @@ "functionName": "\u003d", "arguments": [{ "unresolvedAttribute": { - "unparsedIdentifier": "a" + "unparsedIdentifier": "l.a" } }, { "unresolvedAttribute": { - "unparsedIdentifier": "a" + "unparsedIdentifier": "r.a" } }] } diff --git a/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.proto.bin b/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.proto.bin index 9d0a3ca5d08b2..c1cc916d3275f 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.proto.bin +++ b/connector/connect/common/src/test/resources/query-tests/queries/join_inner_condition.proto.bin @@ -1,5 +1,7 @@ -*i -$Z" struct*Z(&struct -= -a -a  \ No newline at end of file +*} +,‚) +$Z" structl2‚/ +*Z(&structr += +l.a +r.a  \ No newline at end of file diff --git a/connector/connect/common/src/test/resources/query-tests/queries/unionByName.json b/connector/connect/common/src/test/resources/query-tests/queries/unionByName.json index 433ba22fa322d..9446f0127e9a0 100644 --- a/connector/connect/common/src/test/resources/query-tests/queries/unionByName.json +++ b/connector/connect/common/src/test/resources/query-tests/queries/unionByName.json @@ -1,13 +1,31 @@ { "setOp": { "leftInput": { - "localRelation": { - "schema": "struct\u003cid:bigint,a:int,b:double\u003e" + "drop": { + "input": { + "localRelation": { + "schema": "struct\u003cid:bigint,a:int,b:double\u003e" + } + }, + "cols": [{ + "unresolvedAttribute": { + "unparsedIdentifier": "b" + } + }] } }, "rightInput": { - "localRelation": { - "schema": "struct\u003ca:int,id:bigint,payload:binary\u003e" + "drop": { + "input": { + "localRelation": { + "schema": "struct\u003ca:int,id:bigint,payload:binary\u003e" + } + }, + "cols": [{ + "unresolvedAttribute": { + "unparsedIdentifier": "payload" + } + }] } }, "setOpType": "SET_OP_TYPE_UNION", diff --git a/connector/connect/common/src/test/resources/query-tests/queries/unionByName.proto.bin b/connector/connect/common/src/test/resources/query-tests/queries/unionByName.proto.bin index e08dc6d9fdf29..522c1bb0a16de 100644 Binary files a/connector/connect/common/src/test/resources/query-tests/queries/unionByName.proto.bin and b/connector/connect/common/src/test/resources/query-tests/queries/unionByName.proto.bin differ diff --git a/connector/connect/server/src/test/scala/org/apache/spark/sql/connect/ProtoToParsedPlanTestSuite.scala b/connector/connect/server/src/test/scala/org/apache/spark/sql/connect/ProtoToParsedPlanTestSuite.scala index 8f47b7b7843c8..18f656748ac17 100644 --- a/connector/connect/server/src/test/scala/org/apache/spark/sql/connect/ProtoToParsedPlanTestSuite.scala +++ b/connector/connect/server/src/test/scala/org/apache/spark/sql/connect/ProtoToParsedPlanTestSuite.scala @@ -19,13 +19,20 @@ package org.apache.spark.sql.connect import java.nio.charset.StandardCharsets import java.nio.file.{Files, FileVisitResult, Path, SimpleFileVisitor} import java.nio.file.attribute.BasicFileAttributes +import java.util import scala.util.{Failure, Success, Try} import org.apache.spark.SparkFunSuite import org.apache.spark.connect.proto +import org.apache.spark.sql.catalyst.{catalog, QueryPlanningTracker} +import org.apache.spark.sql.catalyst.analysis.{caseSensitiveResolution, Analyzer, FunctionRegistry, Resolver, TableFunctionRegistry} +import org.apache.spark.sql.catalyst.catalog.SessionCatalog import org.apache.spark.sql.connect.planner.SparkConnectPlanner +import org.apache.spark.sql.connector.catalog.{CatalogManager, Identifier, InMemoryCatalog} import org.apache.spark.sql.test.SharedSparkSession +import org.apache.spark.sql.types.StructType +import org.apache.spark.sql.util.CaseInsensitiveStringMap // scalastyle:off /** @@ -61,6 +68,30 @@ class ProtoToParsedPlanTestSuite extends SparkFunSuite with SharedSparkSession { protected val inputFilePath: Path = baseResourcePath.resolve("queries") protected val goldenFilePath: Path = baseResourcePath.resolve("explain-results") + private val analyzer = { + val inMemoryCatalog = new InMemoryCatalog + inMemoryCatalog.initialize("primary", CaseInsensitiveStringMap.empty()) + inMemoryCatalog.createNamespace(Array("tempdb"), util.Collections.emptyMap()) + inMemoryCatalog.createTable( + Identifier.of(Array("tempdb"), "myTable"), + new StructType().add("id", "long"), + Array.empty, + util.Collections.emptyMap()) + + val catalogManager = new CatalogManager( + inMemoryCatalog, + new SessionCatalog( + new catalog.InMemoryCatalog(), + FunctionRegistry.builtin, + TableFunctionRegistry.builtin)) + catalogManager.setCurrentCatalog("primary") + catalogManager.setCurrentNamespace(Array("tempdb")) + + new Analyzer(catalogManager) { + override def resolver: Resolver = caseSensitiveResolution + } + } + // Create the tests. Files.walkFileTree( inputFilePath, @@ -82,8 +113,9 @@ class ProtoToParsedPlanTestSuite extends SparkFunSuite with SharedSparkSession { test(name) { val relation = readRelation(file) val planner = new SparkConnectPlanner(spark) - val catalystPlan = planner.transformRelation(relation) - val actual = catalystPlan.canonicalized.treeString + val catalystPlan = + analyzer.executeAndCheck(planner.transformRelation(relation), new QueryPlanningTracker) + val actual = normalizeExprIds(catalystPlan).treeString val goldenFile = goldenFilePath.resolve(relativePath).getParent.resolve(name + ".explain") Try(readGoldenFile(goldenFile)) match { case Success(expected) if expected == actual => // Test passes.