You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by hv...@apache.org on 2023/02/16 22:33:25 UTC

[spark] branch master updated: [SPARK-42465][CONNECT] ProtoToPlanTestSuite should use analyzed plans instead of parsed plans

This is an automated email from the ASF dual-hosted git repository.

hvanhovell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new 64aa84b21c7 [SPARK-42465][CONNECT] ProtoToPlanTestSuite should use analyzed plans instead of parsed plans
64aa84b21c7 is described below

commit 64aa84b21c7664205a060933d8d9c3067da8218b
Author: Herman van Hovell <he...@databricks.com>
AuthorDate: Thu Feb 16 18:33:10 2023 -0400

    [SPARK-42465][CONNECT] ProtoToPlanTestSuite should use analyzed plans instead of parsed plans
    
    ### What changes were proposed in this pull request?
    This makes `ProtoToPlanTestSuite` use analyzed plans instead of parsed plans.
    
    ### Why are the changes needed?
    This is to increase the fidelity of the `ProtoToPlanTestSuite`, especially since we are going to be adding functions. Functions are special because the spark connect planner leaves them unresolved, the actual binding only happens in the analyzer. Without running the analyzer we would not know if the bindings are correct.
    
    ### Does this PR introduce _any_ user-facing change?
    No
    
    ### How was this patch tested?
    It is a test change.
    
    Closes #40056 from hvanhovell/SPARK-42465.
    
    Authored-by: Herman van Hovell <he...@databricks.com>
    Signed-off-by: Herman van Hovell <he...@databricks.com>
---
 .../apache/spark/sql/PlanGenerationTestSuite.scala |  16 ++++-----
 .../explain-results/alias_string.explain           |   3 +-
 .../explain-results/alias_symbol.explain           |   3 +-
 .../query-tests/explain-results/apply.explain      |   4 +--
 .../query-tests/explain-results/as_string.explain  |   3 +-
 .../query-tests/explain-results/as_symbol.explain  |   3 +-
 .../query-tests/explain-results/coalesce.explain   |   2 +-
 .../query-tests/explain-results/col.explain        |   4 +--
 .../query-tests/explain-results/colRegex.explain   |   4 +--
 .../query-tests/explain-results/column_add.explain |   4 +--
 .../explain-results/column_alias.explain           |   4 +--
 .../query-tests/explain-results/column_and.explain |   4 +--
 .../explain-results/column_apply.explain           |   4 +--
 .../explain-results/column_as_multi.explain        |   5 +--
 .../column_as_with_metadata.explain                |   4 +--
 .../query-tests/explain-results/column_asc.explain |   4 +--
 .../explain-results/column_asc_nulls_first.explain |   4 +--
 .../explain-results/column_asc_nulls_last.explain  |   4 +--
 .../explain-results/column_between.explain         |   4 +--
 .../explain-results/column_bitwiseAND.explain      |   4 +--
 .../explain-results/column_bitwiseOR.explain       |   4 +--
 .../explain-results/column_bitwiseXOR.explain      |   4 +--
 .../explain-results/column_cast.explain            |   4 +--
 .../explain-results/column_contains.explain        |   4 +--
 .../explain-results/column_desc.explain            |   4 +--
 .../column_desc_nulls_first.explain                |   4 +--
 .../explain-results/column_desc_nulls_last.explain |   4 +--
 .../explain-results/column_divide.explain          |   4 +--
 .../explain-results/column_dropFields.explain      |   4 +--
 .../explain-results/column_endsWith.explain        |   4 +--
 .../explain-results/column_eqNullSafe.explain      |   4 +--
 .../explain-results/column_equals.explain          |   4 +--
 .../query-tests/explain-results/column_geq.explain |   4 +--
 .../explain-results/column_getField.explain        |   4 +--
 .../explain-results/column_getItem.explain         |   4 +--
 .../query-tests/explain-results/column_gt.explain  |   4 +--
 .../explain-results/column_ilike.explain           |   4 +--
 .../explain-results/column_isNaN.explain           |   4 +--
 .../explain-results/column_isNotNull.explain       |   4 +--
 .../explain-results/column_isNull.explain          |   4 +--
 .../explain-results/column_isin.explain            |   4 +--
 .../query-tests/explain-results/column_leq.explain |   4 +--
 .../explain-results/column_like.explain            |   4 +--
 .../query-tests/explain-results/column_lt.explain  |   4 +--
 .../explain-results/column_modulo.explain          |   4 +--
 .../explain-results/column_multiply.explain        |   4 +--
 .../query-tests/explain-results/column_not.explain |   4 +--
 .../explain-results/column_not_equals.explain      |   4 +--
 .../query-tests/explain-results/column_or.explain  |   4 +--
 .../explain-results/column_rlike.explain           |   4 +--
 .../explain-results/column_star.explain            |   4 +--
 .../column_star_with_target.explain                |   4 +--
 .../explain-results/column_startsWith.explain      |   4 +--
 .../explain-results/column_substr.explain          |   4 +--
 .../explain-results/column_subtract.explain        |   4 +--
 .../explain-results/column_unary_minus.explain     |   4 +--
 .../explain-results/column_when_otherwise.explain  |   4 +--
 .../explain-results/column_withField.explain       |   4 +--
 .../query-tests/explain-results/crossJoin.explain  |   4 +--
 .../query-tests/explain-results/describe.explain   |  12 +++----
 .../query-tests/explain-results/distinct.explain   |   4 +--
 .../explain-results/dropDuplicates.explain         |   4 +--
 .../dropDuplicates_names_array.explain             |   4 +--
 .../dropDuplicates_names_seq.explain               |   4 +--
 .../explain-results/dropDuplicates_varargs.explain |   4 +--
 .../explain-results/drop_multiple_column.explain   |   4 +--
 .../explain-results/drop_multiple_strings.explain  |   2 +-
 .../explain-results/drop_single_column.explain     |   4 +--
 .../explain-results/drop_single_string.explain     |   4 +--
 .../query-tests/explain-results/except.explain     |   4 +--
 .../query-tests/explain-results/exceptAll.explain  |   4 +--
 .../query-tests/explain-results/filter.explain     |   4 +--
 .../explain-results/filter_expr.explain            |   4 +--
 .../explain-results/function_col.explain           |   4 +--
 .../explain-results/function_lit.explain           |   4 +--
 .../explain-results/function_max.explain           |   4 +--
 .../query-tests/explain-results/hint.explain       |   4 +--
 .../query-tests/explain-results/intersect.explain  |   4 +--
 .../explain-results/intersectAll.explain           |   4 +--
 .../explain-results/join_condition.explain         |   8 +++--
 .../explain-results/join_inner_condition.explain   |   8 +++--
 .../join_inner_no_condition.explain                |   4 +--
 .../join_inner_using_multiple_col_array.explain    |   7 ++--
 .../join_inner_using_multiple_col_seq.explain      |   7 ++--
 .../join_inner_using_single_col.explain            |   7 ++--
 .../join_using_multiple_col_array.explain          |   7 ++--
 .../join_using_multiple_col_seq.explain            |   7 ++--
 .../explain-results/join_using_single_col.explain  |   7 ++--
 .../query-tests/explain-results/limit.explain      |   2 +-
 .../explain-results/melt_no_values.explain         |   4 +--
 .../explain-results/melt_values.explain            |   4 +--
 .../query-tests/explain-results/offset.explain     |   2 +-
 .../explain-results/orderBy_columns.explain        |   4 +--
 .../explain-results/orderBy_strings.explain        |   4 +--
 .../query-tests/explain-results/read.explain       |   2 +-
 .../query-tests/explain-results/read_csv.explain   |   2 +-
 .../query-tests/explain-results/read_json.explain  |   2 +-
 .../query-tests/explain-results/read_orc.explain   |   2 +-
 .../explain-results/read_parquet.explain           |   2 +-
 .../query-tests/explain-results/read_path.explain  |   2 +-
 .../query-tests/explain-results/read_table.explain |   3 +-
 .../query-tests/explain-results/read_text.explain  |   2 +-
 .../explain-results/repartition.explain            |   2 +-
 .../repartitionByRange_expressions.explain         |   4 +--
 ...itionByRange_num_partitions_expressions.explain |   4 +--
 .../repartition_expressions.explain                |   4 +--
 .../repartition_num_partitions_expressions.explain |   4 +--
 .../explain-results/sample_fraction_seed.explain   |   2 +-
 .../sample_withReplacement_fraction_seed.explain   |   2 +-
 .../query-tests/explain-results/select.explain     |   4 +--
 .../query-tests/explain-results/selectExpr.explain |   4 +--
 .../explain-results/select_strings.explain         |   4 +--
 .../sortWithinPartitions_columns.explain           |   4 +--
 .../sortWithinPartitions_strings.explain           |   4 +--
 .../explain-results/sort_columns.explain           |   4 +--
 .../explain-results/sort_strings.explain           |   4 +--
 .../query-tests/explain-results/sql.explain        |   2 +-
 .../query-tests/explain-results/summary.explain    |  10 +++---
 .../query-tests/explain-results/table.explain      |   3 +-
 .../query-tests/explain-results/to.explain         |   4 +--
 .../query-tests/explain-results/toDF.explain       |   4 +--
 .../query-tests/explain-results/union.explain      |   4 +--
 .../query-tests/explain-results/unionAll.explain   |   4 +--
 .../explain-results/unionByName.explain            |   8 +++--
 .../unionByName_allowMissingColumns.explain        |   8 +++--
 .../explain-results/unpivot_no_values.explain      |   4 +--
 .../explain-results/unpivot_values.explain         |   4 +--
 .../explain-results/where_column.explain           |   4 +--
 .../query-tests/explain-results/where_expr.explain |   4 +--
 .../withColumnRenamed_java_map.explain             |   4 +--
 .../withColumnRenamed_scala_map.explain            |   4 +--
 .../withColumnRenamed_single.explain               |   4 +--
 .../explain-results/withColumn_single.explain      |   4 +--
 .../explain-results/withColumns_java_map.explain   |   4 +--
 .../explain-results/withColumns_scala_map.explain  |   4 +--
 .../explain-results/withMetadata.explain           |   4 +--
 .../resources/query-tests/queries/colRegex.json    |   2 +-
 .../query-tests/queries/colRegex.proto.bin         |   7 ++--
 .../query-tests/queries/column_as_multi.json       |   4 +--
 .../query-tests/queries/column_as_multi.proto.bin  |   8 ++---
 .../queries/column_as_with_metadata.json           |   6 ++--
 .../queries/column_as_with_metadata.proto.bin      |   2 +-
 .../queries/column_star_with_target.json           |   2 +-
 .../queries/column_star_with_target.proto.bin      |   6 ++--
 .../query-tests/queries/join_condition.json        |  22 +++++++++----
 .../query-tests/queries/join_condition.proto.bin   |  12 ++++---
 .../query-tests/queries/join_inner_condition.json  |  22 +++++++++----
 .../queries/join_inner_condition.proto.bin         |  12 ++++---
 .../resources/query-tests/queries/unionByName.json |  26 ++++++++++++---
 .../query-tests/queries/unionByName.proto.bin      | Bin 92 -> 122 bytes
 .../sql/connect/ProtoToParsedPlanTestSuite.scala   |  36 +++++++++++++++++++--
 151 files changed, 416 insertions(+), 320 deletions(-)

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 10aa4b658da..7b5d8bd1018 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 b7e3d0a62ec..4e31a67c18f 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 <empty>, [none#0L, none#1, none#2]
+SubqueryAlias fooz
++- LocalRelation <empty>, [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 b7e3d0a62ec..552164a15c6 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 <empty>, [none#0L, none#1, none#2]
+SubqueryAlias bob
++- LocalRelation <empty>, [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 b0d2c358215..a01142070a5 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 <empty>, [none#0L, none#1, none#2]
+Project [a#0]
++- LocalRelation <empty>, [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 b7e3d0a62ec..f192daed1a3 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 <empty>, [none#0L, none#1, none#2]
+SubqueryAlias foo
++- LocalRelation <empty>, [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 b7e3d0a62ec..08bb0d1a86a 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 <empty>, [none#0L, none#1, none#2]
+SubqueryAlias bar
++- LocalRelation <empty>, [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 294fa0f73c3..5d300bdd162 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 <empty>, [none#0L, none#1, none#2]
++- LocalRelation <empty>, [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 0a5d0a342db..6219ddc79c1 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, b#0]
++- LocalRelation <empty>, [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 543b1faaa99..c0a9b3df30b 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, a#0]
++- LocalRelation <empty>, [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 7a4e1d8c99e..a00233be9c5 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 <empty>, [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 <empty>, [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 6599480d99f..aa9a6af2258 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [a#0 AS b#0]
++- LocalRelation <empty>, [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 f5a189da6f8..c6541978628 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 <empty>, [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 <empty>, [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 8ae42a493d8..06025418e24 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 <empty>, [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 <empty>, [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 34d098320fa..097223afda7 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 <empty>, [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 <empty>, [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 6e03801f2fe..9b0e538bf16 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [e#0 AS e_mod#0]
++- LocalRelation <empty>, [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 d1538809a01..1223297b2d4 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Sort [a#0 ASC NULLS FIRST], true
++- LocalRelation <empty>, [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 d1538809a01..1223297b2d4 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Sort [a#0 ASC NULLS FIRST], true
++- LocalRelation <empty>, [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 3d8ad392e46..62d108d46d5 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Sort [a#0 ASC NULLS LAST], true
++- LocalRelation <empty>, [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 af895c4fa0d..140fefe250f 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 <empty>, [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 <empty>, [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 49063410a41..497e839477e 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [(a#0 & 255) AS (a & 255)#0]
++- LocalRelation <empty>, [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 73fc02c35d8..ceb4f23b439 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [(a#0 | 7) AS (a | 7)#0]
++- LocalRelation <empty>, [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 37edb68a75f..efb99f2993f 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [(a#0 ^ 78) AS (a ^ 78)#0]
++- LocalRelation <empty>, [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 3587da106aa..88451be9338 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [cast(a#0 as bigint) AS a#0L]
++- LocalRelation <empty>, [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 3cf63e745a6..15b561a68f1 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 <empty>, [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 <empty>, [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 70b7479554a..89f4080296a 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Sort [b#0 DESC NULLS LAST], true
++- LocalRelation <empty>, [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 372b32017ca..bb12e4aabc9 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Sort [b#0 DESC NULLS FIRST], true
++- LocalRelation <empty>, [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 70b7479554a..89f4080296a 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Sort [b#0 DESC NULLS LAST], true
++- LocalRelation <empty>, [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 08f4f8e393e..8e8e4de67a3 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 <empty>, [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 <empty>, [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 ad5585fcf3c..3216a4b9160 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 <empty>, [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 <empty>, [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 75a9e6fa9f2..b9144451a27 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 <empty>, [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 <empty>, [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 39d14ed9827..8b43c43c8de 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 <empty>, [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 <empty>, [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 2f1eab15525..84abc512662 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 <empty>, [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 <empty>, [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 37e3352670b..e7a922f21a7 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 <empty>, [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 <empty>, [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 230bd2fb598..602251709f9 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [d#0.b AS d.b#0]
++- LocalRelation <empty>, [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 b0e6e9ccf78..31d522711c5 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [e#0[3] AS e[3]#0]
++- LocalRelation <empty>, [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 38cc79bbe7e..3f3f4408042 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 <empty>, [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 <empty>, [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 588ef3a5b22..1fb1a4718a0 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 <empty>, [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 <empty>, [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 8fcb852a6b1..a93e063e4e1 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [isnan(b#0) AS isnan(b)#0]
++- LocalRelation <empty>, [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 ec0497b2591..bae67b17871 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 <empty>, [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 <empty>, [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 b1a24bf5f28..085d77bc5e8 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [isnull(g#0) AS (g IS NULL)#0]
++- LocalRelation <empty>, [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 ea92861186c..f3e33acbaa8 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 <empty>, [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 <empty>, [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 01fcaee9ba0..dc23b7fabaf 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 <empty>, [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 <empty>, [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 54c8d50eabf..ade16bb349a 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 <empty>, [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 <empty>, [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 2438cf3ea4e..62c664e3b25 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 <empty>, [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 <empty>, [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 d010d609b84..b2fa105afc1 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [(a#0 % 10) AS (a % 10)#0]
++- LocalRelation <empty>, [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 3bb266b609f..14a8a180ffa 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 <empty>, [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 <empty>, [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 897371ed75c..3bf350c7964 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [NOT true AS (NOT true)#0]
++- LocalRelation <empty>, [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 7ebf39127e8..249c00c568e 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 <empty>, [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 <empty>, [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 a5e77e36639..1447d506d33 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 <empty>, [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 <empty>, [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 8cf1f42bcab..89a351f1ec7 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 <empty>, [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 <empty>, [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 a9384942aa1..d2bcd89c109 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 <empty>, [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 <empty>, [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 f3366709711..0ae702c2c6b 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 <empty>, [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 <empty>, [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 bdf95dba324..0e4d63ca600 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 <empty>, [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 <empty>, [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 f3e081be5db..b9c8b8646c9 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 <empty>, [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 <empty>, [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 eb56ecad484..9b1eb4866d1 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 <empty>, [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 <empty>, [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 95354071643..b2b7bcfb855 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 <empty>, [none#0L, none#1, none#2, none#3, none#4, none#5, none#6]
+Project [-1 AS negative(1)#0]
++- LocalRelation <empty>, [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 8f972122b13..62858aad0df 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 <empty>, [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 <empty>, [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 386554d6e47..575fe0b0fd7 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 <empty>, [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 <empty>, [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 05c0d319db4..612f8337ac9 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 3f88f836b4b..f205f7ef7a1 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), cas [...]
-         +- Project [none#0L, none#2]
-            +- LocalRelation <empty>, [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),  [...]
+         +- Project [id#0L, b#0]
+            +- LocalRelation <empty>, [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 e4da86166dd..e809829dfa5 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 <empty>, [none#0L, none#1, none#2]
+Deduplicate [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 e4da86166dd..e809829dfa5 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 <empty>, [none#0L, none#1, none#2]
+Deduplicate [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 9f8c1bb8d91..6a85a347caf 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 <empty>, [none#0L, none#1, none#2]
+Deduplicate [a#0, id#0L]
++- LocalRelation <empty>, [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 cd7bbac89df..5af0ec857d2 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 <empty>, [none#0L, none#1, none#2]
+Deduplicate [a#0, b#0]
++- LocalRelation <empty>, [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 b034ead771d..0a9079864d5 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 <empty>, [none#0L, none#1, none#2]
+Deduplicate [a#0, b#0, id#0L]
++- LocalRelation <empty>, [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 d50b1411784..a01142070a5 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 <empty>, [none#0L, none#1, none#2]
+Project [a#0]
++- LocalRelation <empty>, [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 75d78bac2d9..bdd178772c8 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 <empty>, [none#0L, none#1, none#2]
++- LocalRelation <empty>, [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 d63618297e5..c0a9b3df30b 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, a#0]
++- LocalRelation <empty>, [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 7eaf23106a1..6219ddc79c1 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, b#0]
++- LocalRelation <empty>, [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 eb3c62c6f51..d9e8cc93af5 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0L, none#1, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 95882222ba0..5519e85b1fe 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0L, none#1, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 de1e9764a7c..442db6ee85a 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 <empty>, [none#0L, none#1, none#2]
+Filter (id#0L = 10)
++- LocalRelation <empty>, [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 4a4d83cbbe3..831e7c6cf57 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 <empty>, [none#0L, none#1, none#2]
+Filter (EXP(cast(a#0 as double)) < cast(10.0 as double))
++- LocalRelation <empty>, [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 6915b579dfd..aac54ef5662 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L]
++- LocalRelation <empty>, [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 d7b3a22675d..11454267c37 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), unre [...]
-+- LocalRelation <empty>, [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 <empty>, [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 077ba5498b1..06adc24970f 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 <empty>, [none#0L, none#1, none#2]
+Aggregate [max(id#0L) AS max(id)#0L]
++- LocalRelation <empty>, [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 71ec808a221..210be491c38 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 <empty>, [none#0L, none#1, none#2]
+Repartition 100, false
++- LocalRelation <empty>, [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 89b24beb6fe..b779995c989 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0L, none#1, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 5159e4f5d1e..537b25838f5 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0L, none#1, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 a0f818eb7db..31681777a39 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+'Join LeftAnti, (id#0L = id#0L)
+:- SubqueryAlias l
+:  +- LocalRelation <empty>, [id#0L, a#0, b#0]
++- SubqueryAlias r
+   +- LocalRelation <empty>, [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 f0bd1db03ac..c8f41d09273 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+'Join Inner, (a#0 = a#0)
+:- SubqueryAlias l
+:  +- LocalRelation <empty>, [id#0L, a#0, b#0]
++- SubqueryAlias r
+   +- LocalRelation <empty>, [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 df290259b0a..1414616da4d 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 8df79323f39..ed29cef333a 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [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 <empty>, [id#0L, a#0, b#0]
+   +- LocalRelation <empty>, [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 8df79323f39..ed29cef333a 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [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 <empty>, [id#0L, a#0, b#0]
+   +- LocalRelation <empty>, [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 8f83aaf56c1..8667e407dd3 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+'Project [id#0L, a#0, b#0, a#0, payload#0]
++- 'Join Inner, (id#0L = id#0L)
+   :- LocalRelation <empty>, [id#0L, a#0, b#0]
+   +- LocalRelation <empty>, [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 4b7bfe92868..6586d67708b 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [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 <empty>, [id#0L, a#0, b#0]
+   +- LocalRelation <empty>, [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 7fb3e44a238..ed47c617337 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [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 <empty>, [id#0L, a#0, b#0]
+   +- LocalRelation <empty>, [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 a5f9651e8be..64553477f75 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+'Project [id#0L, a#0, b#0]
++- 'Join LeftSemi, (id#0L = id#0L)
+   :- LocalRelation <empty>, [id#0L, a#0, b#0]
+   +- LocalRelation <empty>, [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 4cfee65478b..3d445331b35 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 <empty>, [none#0L, none#1, none#2]
+   +- LocalRelation <empty>, [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 36566b68c95..f61fc30a3a5 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 <empty>, [none#0L, none#1, none#2]
+Expand [[id#0L, a#0, b, b#0]], [id#0L, a#0, #0, value#0]
++- LocalRelation <empty>, [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 e11778c63bb..b5742d976de 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 <empty>, [none#0L, none#1, none#2]
+Expand [[a#0, id, id#0L]], [a#0, #0, value#0L]
++- LocalRelation <empty>, [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 2da57931059..f1f29424262 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 <empty>, [none#0L, none#1, none#2]
++- LocalRelation <empty>, [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 59017198796..f663d0dabe1 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 <empty>, [none#0L, none#1, none#2]
+Sort [id#0L ASC NULLS FIRST, b#0 ASC NULLS FIRST, a#0 ASC NULLS FIRST], true
++- LocalRelation <empty>, [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 3b005e5a1dd..dddaffbc845 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 <empty>, [none#0L, none#1, none#2]
+Sort [b#0 ASC NULLS FIRST, id#0L ASC NULLS FIRST, a#0 ASC NULLS FIRST], true
++- LocalRelation <empty>, [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 30e5ec4542c..da1c0f25e54 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 069e76a8154..4479893592a 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 ead927c8f24..871c86c239b 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 9a8b1aab953..c5cff325e5e 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 9fd4f43aeee..f77414dc47e 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 70393afccb2..bad6a06e3fd 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 0ec9812e3b9..11a96567dbc 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 3e78575dac6..1002d714603 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 dd6c0fe4062..f30594bc18c 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 <empty>, [none#0L, none#1, none#2]
++- LocalRelation <empty>, [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 2f169429f81..d38e6a0075f 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 <empty>, [none#0L, none#1, none#2]
+RepartitionByExpression [a#0 ASC NULLS FIRST, id#0L DESC NULLS FIRST]
++- LocalRelation <empty>, [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 054f8ad05bb..d9c9678ab5e 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 <empty>, [none#0L, none#1, none#2]
+RepartitionByExpression [b#0 ASC NULLS FIRST, id#0L DESC NULLS FIRST], 33
++- LocalRelation <empty>, [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 e6f09597d7d..3b602b4fd71 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 <empty>, [none#0L, none#1, none#2]
+RepartitionByExpression [id#0L, b#0]
++- LocalRelation <empty>, [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 dbf1e52e2d3..e65dc5cd7b8 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 <empty>, [none#0L, none#1, none#2]
+RepartitionByExpression [a#0, id#0L], 22
++- LocalRelation <empty>, [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 9981205d7af..f94e0a850e4 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 <empty>, [none#0L, none#1, none#2]
++- LocalRelation <empty>, [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 4e2d884bb37..340c25ab6d0 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 <empty>, [none#0L, none#1, none#2]
++- LocalRelation <empty>, [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 6915b579dfd..aac54ef5662 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L]
++- LocalRelation <empty>, [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 53eaa9352a4..935a26e47d3 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 <empty>, [none#0L, none#1, none#2]
+Project [(a#0 + 10) AS x#0, (id#0L % cast(10 as bigint)) AS grp#0L]
++- LocalRelation <empty>, [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 61526cc6042..c0a9b3df30b 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, a#0]
++- LocalRelation <empty>, [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 79ae0d702aa..ce1e7ae6f4c 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 <empty>, [none#0L, none#1, none#2]
+Sort [id#0L ASC NULLS FIRST, b#0 ASC NULLS FIRST], false
++- LocalRelation <empty>, [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 9d49e22afe4..373960f809b 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 <empty>, [none#0L, none#1, none#2]
+Sort [a#0 ASC NULLS FIRST, id#0L ASC NULLS FIRST], false
++- LocalRelation <empty>, [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 ce5e8ea1f8d..8cb023ce5fb 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 <empty>, [none#0L, none#1, none#2]
+Sort [id#0L ASC NULLS FIRST, b#0 ASC NULLS FIRST], true
++- LocalRelation <empty>, [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 96c18b836c1..2d060dc9fb8 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 <empty>, [none#0L, none#1, none#2]
+Sort [b#0 ASC NULLS FIRST, a#0 ASC NULLS FIRST], true
++- LocalRelation <empty>, [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 61a0e23e3df..7f5aafb1943 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 98f69703a4c..3ce8a26f138 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 <empty>, [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 <empty>, [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 0ec9812e3b9..11a96567dbc 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 cc952f01a83..1e113ce4dde 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 <empty>, [none#0L, none#1, none#2]
+Project [b#0, cast(id#0L as int) AS id#0]
++- LocalRelation <empty>, [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 aa71dcd5231..e751403f8d4 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L AS x1#0L, a#0 AS x2#0, b#0 AS x3#0]
++- LocalRelation <empty>, [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 8d2530c4959..4d5d1f53b84 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0L, none#1, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 8d2530c4959..4d5d1f53b84 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0L, none#1, none#2]
+:- LocalRelation <empty>, [id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 104217a175d..ed960186ad4 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+Union false, false
+:- Project [id#0L, a#0]
+:  +- LocalRelation <empty>, [id#0L, a#0, b#0]
++- Project [id#0L, a#0]
+   +- LocalRelation <empty>, [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 70d1955f58d..96bd9f281c1 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 <empty>, [none#0L, none#1, none#2]
-+- LocalRelation <empty>, [none#0, none#1L, none#2]
+Union false, false
+:- Project [id#0L, a#0, b#0, null AS payload#0]
+:  +- LocalRelation <empty>, [id#0L, a#0, b#0]
++- Project [id#0L, a#0, null AS b#0, payload#0]
+   +- LocalRelation <empty>, [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 3d3331f31f9..8d1749ee74c 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 <empty>, [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 <empty>, [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 a7b5b530463..f61fc30a3a5 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 <empty>, [none#0L, none#1, none#2]
+Expand [[id#0L, a#0, b, b#0]], [id#0L, a#0, #0, value#0]
++- LocalRelation <empty>, [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 9580f08b5e6..bb4aa22afe0 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 <empty>, [none#0L, none#1, none#2]
+Filter (id#0L = 1)
++- LocalRelation <empty>, [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 0c3be1cbef3..cce42b72116 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 <empty>, [none#0L, none#1, none#2]
+Filter ((cast(a#0 as bigint) + id#0L) < cast(1000 as bigint))
++- LocalRelation <empty>, [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 2fed4e66ac5..0bacc8a11d2 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L AS nid#0L, a#0, b#0 AS bravo#0]
++- LocalRelation <empty>, [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 9a22c8ad5cb..56bed6fca9a 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, a#0 AS alpha#0, b#0 AS beta#0]
++- LocalRelation <empty>, [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 07dec2eba0f..f4713f5fbc2 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L AS nid#0L, a#0, b#0]
++- LocalRelation <empty>, [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 fe8ec9459bc..958529c1121 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, a#0, b#0, (a#0 + 100) AS z#0]
++- LocalRelation <empty>, [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 6702dc2f18e..dadb7bfbd86 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, 123 AS a#0, b#0, id#0L AS g#0L]
++- LocalRelation <empty>, [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 97066dbe7df..3866cbbba70 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L, a#0, redacted AS b#0, (a#0 + 100) AS z#0]
++- LocalRelation <empty>, [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 07dec2eba0f..0bd68ea4e8a 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 <empty>, [none#0L, none#1, none#2]
+Project [id#0L AS id#0L, a#0, b#0]
++- LocalRelation <empty>, [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 bb4c89e4516..90d35213bbb 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 1a3b97ea0f5..6503926be7a 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" struct<id:bigint,a:int,b:double>B
-a|id
\ No newline at end of file
+2
+$Z" struct<id:bigint,a:int,b:double>
+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 940f6a5139c..15c6c6cf093 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 a8568f73f8d..4762a9fad8c 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<id:bigint,a:int,b:double,d:struct<id:bigint,a:int,b:double>,e:array<int>,f:map<string,struct<id:bigint,a:int,b:double>>,g:string>2
-
-dv1v2v3
\ No newline at end of file
+�
+�Z��struct<id:bigint,a:int,b:double,d:struct<id:bigint,a:int,b:double>,e:array<int>,f:map<string,struct<id:bigint,a:int,b:double>>,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 6c399f9959e..dff2912f8b6 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 65161a7a307..83592a71e5c 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<id:bigint,a:int,b:double,d:struct<id:bigint,a:int,b:double>,e:array<int>,f:map<string,struct<id:bigint,a:int,b:double>>,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 2b873369b9d..26372cb4e50 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 a15c03b48b9..63c5c7f5330 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<id:bigint,a:int,b:double,d:struct<id:bigint,a:int,b:double>,e:array<int>,f:map<string,struct<id:bigint,a:int,b:double>>,g:string>	*
-str.*
\ No newline at end of file
+�
+�Z��struct<id:bigint,a:int,b:double,d:struct<id:bigint,a:int,b:double>,e:array<int>,f:map<string,struct<id:bigint,a:int,b:double>>,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 b152642b547..94abd7a159f 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 a1464a72ea8..84ddc108103 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<id:bigint,a:int,b:double>*Z(&struct<a:int,id:bigint,payload:binary>
-=
-id
-id 
\ No newline at end of file
+*
+,�)
+$Z" struct<id:bigint,a:int,b:double>l2�/
+*Z(&struct<a:int,id:bigint,payload:binary>r
+=
+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 28949407af4..36e203a4256 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 9d0a3ca5d08..c1cc916d327 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<id:bigint,a:int,b:double>*Z(&struct<a:int,id:bigint,payload:binary>
-=
-a
-a 
\ No newline at end of file
+*}
+,�)
+$Z" struct<id:bigint,a:int,b:double>l2�/
+*Z(&struct<a:int,id:bigint,payload:binary>r
+=
+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 433ba22fa32..9446f0127e9 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 e08dc6d9fdf..522c1bb0a16 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 8f47b7b7843..18f656748ac 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.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org