tree a9da667c70f51c8ccd4e0fec0e8d2b6fced44562
parent 3b1ea0fde44ec0aef8af24ca9a0a218a1c2d487d
author guihuawen <guihuawen@didiglobal.com> 1715141075 +0800
committer Kent Yao <yao@apache.org> 1715141075 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE124jufEbW/aGRhPE9wUYUKCvkE0FAmY6+dMACgkQ9wUYUKCv
 kE3X2hAAvb0VgHEC31yghym2WRaD2/Y4xcXu+HzL4nfCqpqEHTpQ+MDnOWh6p17d
 DL6p/0gNHbwRzJnSy7V6yp10zlZKsf3x2g3WKSCFV0cjxEFFfMNGDHamK/jXOgnc
 x1NqoyGcRFRQH1Ol/hBGIIjGGdp4S4UO1hYNqW584tlG9GKpoAltX+l+3YISyY22
 CoVYSyiE6WDRrWBv7qERcBSS6IOibLTWMwF6Qoa7JOwXqh8CVHWThq3qB03be2HK
 FCBF+om/glSHtCCi7k76MeIFXLcuv4Pa+/E8uI2xgjH5q4/MHcVw2aTBg8HbQwIr
 7cXjvojJ5myca3YrGKFgsyYa7C/z6A8LyVngUb8hnKlMPziCghLFqUuHhLBKdOfn
 pgzWfN236frXQC08FYFQV5ANZpy8T4xkYRcUuLsIYaTxIa3XNiUicxB5yFcSbr7w
 IjrNR5hltICLHUnHWzEWNOxTq5KTlaFGCH1Lo/YNEKyp3Db/8x1nvoLHj2MPQweC
 gPRUNag+lSNII7xzio14w7MY6PV1w9dr9Y+LqbQdgJyuQKBYWn72Zhy/34TR9jts
 e4GPiaHDG4i6r2DHezTvbSCNhm3+xvEDMEeId965/8y9lsyJauDbWGQgGQPYzqTY
 eAtlnrMMUXulhu02nH5iFU3iI5+ua4Jy4Yi3K3fUN7P3xbuWxzE=
 =kJcZ
 -----END PGP SIGNATURE-----

[SPARK-47914][SQL] Do not display the splits parameter in Range

### What changes were proposed in this pull request?
[SQL]

explain extended select * from range(0, 4);

Before this pr, the split is also displayed in the logical execution phase as None, if it is not be set.
`

plan

== Parsed Logical Plan ==

'Project [*]

+- 'UnresolvedTableValuedFunction [range], [0, 4]

== Analyzed Logical Plan ==

id: bigint

Project [id#11L](https://issues.apache.org/jira/projects/SPARK/issues/SPARK-47914?filter=allissues#11L)

+- Range (0, 4, step=1, splits=None)

== Optimized Logical Plan ==

Range (0, 4, step=1, splits=None)

== Physical Plan ==

*(1) Range (0, 4, step=1, splits=1)`

After this pr, the split will not be displayed in the logical execution phase , if it is not set. At the same time,  it will be  be displayed when it is be set.

`

plan

== Parsed Logical Plan ==

'Project [*]

+- 'UnresolvedTableValuedFunction [range], [0, 4]

== Analyzed Logical Plan ==

id: bigint

Project [id#11L](https://issues.apache.org/jira/projects/SPARK/issues/SPARK-47914?filter=allissues#11L)

+- Range (0, 4, step=1)

== Optimized Logical Plan ==

Range (0, 4, step=1)

== Physical Plan ==

*(1) Range (0, 4, step=1, splits=1)`

### Why are the changes needed?
If the split is not be set.  it is also displayed in the logical execution phase as None, which is not very user-friendly.

### Does this PR introduce _any_ user-facing change?

### How was this patch tested?

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

Closes #46136 from guixiaowen/SPARK-47914.

Authored-by: guihuawen <guihuawen@didiglobal.com>
Signed-off-by: Kent Yao <yao@apache.org>
