Skip to content

[SPARK-48693][SQL] Simplify and unify toString of Invoke and StaticInvoke#47066

Closed
yaooqinn wants to merge 10 commits intoapache:masterfrom
yaooqinn:SPARK-48693
Closed

[SPARK-48693][SQL] Simplify and unify toString of Invoke and StaticInvoke#47066
yaooqinn wants to merge 10 commits intoapache:masterfrom
yaooqinn:SPARK-48693

Conversation

@yaooqinn
Copy link
Member

What changes were proposed in this pull request?

The StaticInvoke class is used extensively by RuntimeReplacable expressions, due to its ugly string representation, a plan with multiple or nested StaticInvoke is hard to read.

This PR overrides StaticInvoke's toString method to improve its readability.

 Project [left(c7#x, 2) AS left(c7, 2)#x, left(c8#x, 2) AS left(c8, 2)#x, left(v#x, 3) AS left(v, 3)#x, left(s#x, 2) AS left(s, 2)#x]
 +- SubqueryAlias spark_catalog.default.char_tbl4
-   +- Project [staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, c7#x, 7, tru
e, false, true) AS c7#x, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, c8#
x, 8, true, false, true) AS c8#x, v#x, s#x]
+   +- Project [static_invoke(CharVarcharCodegenUtils.readSidePadding(c7#x, 7)) AS c7#x, static_invoke(CharVarcharCodegenUtils.readSideP
adding(c8#x, 8)) AS c8#x, v#x, s#x]

In contrast, the Invoke's toString is overly simple, losing its child's string representations.

Why are the changes needed?

improve plan readability and consistency

Does this PR introduce any user-facing change?

Yes, a plan containing StaticInvoke will change its string representation.

How was this patch tested?

existing modified tests

Was this patch authored or co-authored using generative AI tooling?

no

@yaooqinn yaooqinn marked this pull request as draft June 24, 2024 05:30
@github-actions github-actions bot added the SQL label Jun 24, 2024
@yaooqinn yaooqinn marked this pull request as ready for review June 24, 2024 10:47
@yaooqinn
Copy link
Member Author

@yaooqinn yaooqinn closed this in 8c4ca7e Jun 25, 2024
@yaooqinn yaooqinn deleted the SPARK-48693 branch June 25, 2024 10:36
@yaooqinn
Copy link
Member Author

Merged to master, thank you all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants