This is an automated email from the ASF dual-hosted git repository.
zhengruifeng pushed a commit to branch branch-4.x
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.x by this push:
new a9bbaf0cff4d [SPARK-57116][SQL][PYTHON][DOC] Fix versionadded/@since
for kll_merge_agg_* (4.1.0 -> 4.1.2)
a9bbaf0cff4d is described below
commit a9bbaf0cff4dc9b27fa047b30a2d5ac3739eb472
Author: Ruifeng Zheng <[email protected]>
AuthorDate: Thu May 28 14:50:08 2026 +0800
[SPARK-57116][SQL][PYTHON][DOC] Fix versionadded/@since for kll_merge_agg_*
(4.1.0 -> 4.1.2)
### What changes were proposed in this pull request?
Fix the `versionadded` / `since` / `ExpressionDescription.since` annotation
on `kll_merge_agg_{bigint,float,double}`, changing `4.1.0` to `4.1.2`. Touches
three files:
- `python/pyspark/sql/functions/builtin.py` — 3 `.. versionadded::`
docstrings
- `sql/api/src/main/scala/org/apache/spark/sql/functions.scala` — 15
`since` Scaladocs (5 overloads × 3 types)
-
`sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/kllAggregates.scala`
— 3 `ExpressionDescription(since = ...)` annotations
### Why are the changes needed?
All three places currently claim "Since 4.1.0", but:
| Tag | Date | Contains `kll_merge_agg_*`? |
|---|---|---|
| v4.1.0 | 2025-12-11 | No |
| v4.1.1 | 2026-01-02 | No |
| v4.1.2 | 2026-05-16 | **Yes** (via cherry-pick `a39c1b8e5e2`) |
| v4.2.0-preview2 | 2026-02-05 | Yes (via master commit `fc15f726eab`) |
The introducing commit on master (SPARK-54785 / #53548, `fc15f726eab` on
2026-01-12) landed *after* v4.1.0 was tagged, and the branch-4.1 cherry-pick
(`a39c1b8e5e2`) shipped first in v4.1.2. No 4.1.0/4.1.1 release contains these
functions.
`4.1.2` is the earliest stable release in which they are available, so that
is the correct value across all three annotation sites.
### Does this PR introduce _any_ user-facing change?
Documentation-only change. The rendered Python API ref, Scaladoc, and SQL
function reference currently render "New in version 4.1.0" / "Since: 4.1.0",
which is misleading; this PR corrects all of them to `4.1.2`.
### How was this patch tested?
Doc/annotation-only change. Manually verified each touched site is one of
the 15 `kll_merge_agg_*` overload Scaladocs, the 3 KllMergeAgg expression
descriptions, or the 3 Python docstrings — sibling annotations on
`kll_sketch_agg_*` (which legitimately shipped in v4.1.0) are left unchanged.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (model: claude-opus-4-7)
Closes #56135 from zhengruifeng/spark-doc-fixes-dev1.
Authored-by: Ruifeng Zheng <[email protected]>
Signed-off-by: Ruifeng Zheng <[email protected]>
(cherry picked from commit 63f9c88e9001508cdf48bb257cc4b185b9d16226)
Signed-off-by: Ruifeng Zheng <[email protected]>
---
python/pyspark/sql/functions/builtin.py | 6 ++---
.../scala/org/apache/spark/sql/functions.scala | 30 +++++++++++-----------
.../expressions/aggregate/kllAggregates.scala | 6 ++---
3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/python/pyspark/sql/functions/builtin.py
b/python/pyspark/sql/functions/builtin.py
index 2e56ad92f1a0..1bf2754282df 100644
--- a/python/pyspark/sql/functions/builtin.py
+++ b/python/pyspark/sql/functions/builtin.py
@@ -27606,7 +27606,7 @@ def kll_merge_agg_bigint(
sketch (range 8-65535). If k is not specified, the merged sketch adopts
the k value
from the first input sketch.
- .. versionadded:: 4.1.0
+ .. versionadded:: 4.1.2
Parameters
----------
@@ -27650,7 +27650,7 @@ def kll_merge_agg_float(
sketch (range 8-65535). If k is not specified, the merged sketch adopts
the k value
from the first input sketch.
- .. versionadded:: 4.1.0
+ .. versionadded:: 4.1.2
Parameters
----------
@@ -27694,7 +27694,7 @@ def kll_merge_agg_double(
sketch (range 8-65535). If k is not specified, the merged sketch adopts
the k value
from the first input sketch.
- .. versionadded:: 4.1.0
+ .. versionadded:: 4.1.2
Parameters
----------
diff --git a/sql/api/src/main/scala/org/apache/spark/sql/functions.scala
b/sql/api/src/main/scala/org/apache/spark/sql/functions.scala
index 8859e16cfb97..7afa1cba46eb 100644
--- a/sql/api/src/main/scala/org/apache/spark/sql/functions.scala
+++ b/sql/api/src/main/scala/org/apache/spark/sql/functions.scala
@@ -2032,7 +2032,7 @@ object functions {
* sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_bigint(e: Column, k: Column): Column =
Column.fn("kll_merge_agg_bigint", e, k)
@@ -2044,7 +2044,7 @@ object functions {
* sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_bigint(e: Column, k: Int): Column =
Column.fn("kll_merge_agg_bigint", e, lit(k))
@@ -2056,7 +2056,7 @@ object functions {
* sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_bigint(columnName: String, k: Int): Column =
kll_merge_agg_bigint(Column(columnName), k)
@@ -2067,7 +2067,7 @@ object functions {
* sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_bigint(e: Column): Column =
Column.fn("kll_merge_agg_bigint", e)
@@ -2078,7 +2078,7 @@ object functions {
* sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_bigint(columnName: String): Column =
kll_merge_agg_bigint(Column(columnName))
@@ -2089,7 +2089,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_float(e: Column, k: Column): Column =
Column.fn("kll_merge_agg_float", e, k)
@@ -2100,7 +2100,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_float(e: Column, k: Int): Column =
Column.fn("kll_merge_agg_float", e, lit(k))
@@ -2111,7 +2111,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_float(columnName: String, k: Int): Column =
kll_merge_agg_float(Column(columnName), k)
@@ -2121,7 +2121,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_float(e: Column): Column =
Column.fn("kll_merge_agg_float", e)
@@ -2131,7 +2131,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_float(columnName: String): Column =
kll_merge_agg_float(Column(columnName))
@@ -2142,7 +2142,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_double(e: Column, k: Column): Column =
Column.fn("kll_merge_agg_double", e, k)
@@ -2153,7 +2153,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_double(e: Column, k: Int): Column =
Column.fn("kll_merge_agg_double", e, lit(k))
@@ -2164,7 +2164,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_double(columnName: String, k: Int): Column =
kll_merge_agg_double(Column(columnName), k)
@@ -2174,7 +2174,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_double(e: Column): Column =
Column.fn("kll_merge_agg_double", e)
@@ -2184,7 +2184,7 @@ object functions {
* If k is not specified, the merged sketch adopts the k value from the
first input sketch.
*
* @group agg_funcs
- * @since 4.1.0
+ * @since 4.1.2
*/
def kll_merge_agg_double(columnName: String): Column =
kll_merge_agg_double(Column(columnName))
diff --git
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/kllAggregates.scala
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/kllAggregates.scala
index 6e3ea19425d9..80ac45d273af 100644
---
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/kllAggregates.scala
+++
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/kllAggregates.scala
@@ -485,7 +485,7 @@ case class KllSketchAggDouble(
6
""",
group = "agg_funcs",
- since = "4.1.0")
+ since = "4.1.2")
// scalastyle:on line.size.limit
case class KllMergeAggBigint(
child: Expression,
@@ -558,7 +558,7 @@ case class KllMergeAggBigint(
6
""",
group = "agg_funcs",
- since = "4.1.0")
+ since = "4.1.2")
// scalastyle:on line.size.limit
case class KllMergeAggFloat(
child: Expression,
@@ -631,7 +631,7 @@ case class KllMergeAggFloat(
6
""",
group = "agg_funcs",
- since = "4.1.0")
+ since = "4.1.2")
// scalastyle:on line.size.limit
case class KllMergeAggDouble(
child: Expression,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]