You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by gi...@apache.org on 2026/09/22 21:16:32 UTC
(datafusion-comet) branch asf-site updated: Publish built docs triggered by cccc08b7cee91fc4a3ec4ea4236dbc57906ccdd5
This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 89401d38f9 Publish built docs triggered by cccc08b7cee91fc4a3ec4ea4236dbc57906ccdd5
89401d38f9 is described below
commit 89401d38f94435b1d3389832c49f93f45bd49a28
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Tue Sep 22 21:16:27 2026 +0000
Publish built docs triggered by cccc08b7cee91fc4a3ec4ea4236dbc57906ccdd5
---
_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg | 2 +-
_sources/user-guide/latest/compatibility/index.md.txt | 11 +++++++++++
searchindex.js | 2 +-
user-guide/latest/compatibility/index.html | 11 +++++++++++
4 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg b/_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg
index 2f7bdd8522..d35815d179 100644
--- a/_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg
+++ b/_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg
@@ -1 +1 @@
-<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 511.73px; background-color: transparent;" viewBox="0 0 511.7299499511719 942" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg [...]
\ No newline at end of file
+<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 511.73px; background-color: transparent;" viewBox="0 0 511.7299499511719 942" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg [...]
\ No newline at end of file
diff --git a/_sources/user-guide/latest/compatibility/index.md.txt b/_sources/user-guide/latest/compatibility/index.md.txt
index fd7c15ff3d..eda40fb597 100644
--- a/_sources/user-guide/latest/compatibility/index.md.txt
+++ b/_sources/user-guide/latest/compatibility/index.md.txt
@@ -145,6 +145,17 @@ so users hunting an unexpected value have a single place to check:
- Native `RANGE` window frames with an explicit `PRECEDING` / `FOLLOWING` offset diverge from
Spark when the boundary arithmetic overflows for `DATE` or `DECIMAL` `ORDER BY` columns
([#5022](https://github.com/apache/datafusion-comet/issues/5022)).
+- Ungrouped decimal `SUM` keeps an unbounded intermediate and checks the result precision only
+ when a partial is written out or the sum is evaluated, which matches Spark's whole-stage codegen
+ path. Without codegen Spark buffers the aggregate in an `UnsafeRow` and latches as soon as a
+ running sum leaves the precision. Comet falls back at precision 38 when codegen is disabled by
+ `spark.sql.codegen.wholeStage`, by `spark.sql.codegen.factoryMode=NO_CODEGEN`, by an
+ imperative sibling aggregate, by an expression Spark cannot compile such as a lambda function,
+ or by the `spark.sql.codegen.maxFields` limit on the aggregate's own output and inputs, but not
+ when Spark abandons codegen at runtime, after a compile failure under
+ `spark.sql.codegen.fallback` or when the generated code exceeds
+ `spark.sql.codegen.hugeMethodLimit`, where an intermediate overflow that later cancels out
+ returns `NULL` (or raises under ANSI) in Spark but the recovered value in Comet.
## Object store cache
diff --git a/searchindex.js b/searchindex.js
index ecca8fe67e..7702c4645c 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[56, "id1"]], "%": [[54, "id1"]], "&": [[44, "id1"]], "*": [[54, "id2"]], "+": [[54, "id3"]], "-": [[54, "id4"]], "/": [[54, "id5"]], "1. Format Your Code": [[41, "format-your-code"]], "1. Install Comet": [[62, "install-comet"], [73, "install-comet"]], "1. Native Operators (nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and Verify": [[41, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[62, "clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[56, "id1"]], "%": [[54, "id1"]], "&": [[44, "id1"]], "*": [[54, "id2"]], "+": [[54, "id3"]], "-": [[54, "id4"]], "/": [[54, "id5"]], "1. Format Your Code": [[41, "format-your-code"]], "1. Install Comet": [[62, "install-comet"], [73, "install-comet"]], "1. Native Operators (nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and Verify": [[41, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[62, "clone-iceberg-and-apply- [...]
\ No newline at end of file
diff --git a/user-guide/latest/compatibility/index.html b/user-guide/latest/compatibility/index.html
index 397611e985..ced4dff106 100644
--- a/user-guide/latest/compatibility/index.html
+++ b/user-guide/latest/compatibility/index.html
@@ -897,6 +897,17 @@ of that year, while Comet’s native string-to-timestamp cast returns NULL in no
<li><p>Native <code class="docutils literal notranslate"><span class="pre">RANGE</span></code> window frames with an explicit <code class="docutils literal notranslate"><span class="pre">PRECEDING</span></code> / <code class="docutils literal notranslate"><span class="pre">FOLLOWING</span></code> offset diverge from
Spark when the boundary arithmetic overflows for <code class="docutils literal notranslate"><span class="pre">DATE</span></code> or <code class="docutils literal notranslate"><span class="pre">DECIMAL</span></code> <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> columns
(<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/5022">#5022</a>).</p></li>
+<li><p>Ungrouped decimal <code class="docutils literal notranslate"><span class="pre">SUM</span></code> keeps an unbounded intermediate and checks the result precision only
+when a partial is written out or the sum is evaluated, which matches Spark’s whole-stage codegen
+path. Without codegen Spark buffers the aggregate in an <code class="docutils literal notranslate"><span class="pre">UnsafeRow</span></code> and latches as soon as a
+running sum leaves the precision. Comet falls back at precision 38 when codegen is disabled by
+<code class="docutils literal notranslate"><span class="pre">spark.sql.codegen.wholeStage</span></code>, by <code class="docutils literal notranslate"><span class="pre">spark.sql.codegen.factoryMode=NO_CODEGEN</span></code>, by an
+imperative sibling aggregate, by an expression Spark cannot compile such as a lambda function,
+or by the <code class="docutils literal notranslate"><span class="pre">spark.sql.codegen.maxFields</span></code> limit on the aggregate’s own output and inputs, but not
+when Spark abandons codegen at runtime, after a compile failure under
+<code class="docutils literal notranslate"><span class="pre">spark.sql.codegen.fallback</span></code> or when the generated code exceeds
+<code class="docutils literal notranslate"><span class="pre">spark.sql.codegen.hugeMethodLimit</span></code>, where an intermediate overflow that later cancels out
+returns <code class="docutils literal notranslate"><span class="pre">NULL</span></code> (or raises under ANSI) in Spark but the recovered value in Comet.</p></li>
</ul>
</section>
<section id="object-store-cache">
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org