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.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 2316ebf24b Publish built docs triggered by 
ff774c6c3ce3349aaa9f778b3843fc94908504b8
2316ebf24b is described below

commit 2316ebf24b75046c8acae739cb836034e9574fcc
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Jul 14 06:54:31 2026 +0000

    Publish built docs triggered by ff774c6c3ce3349aaa9f778b3843fc94908504b8
---
 .../library-user-guide/upgrading/55.0.0.md.txt     | 68 +++++++++++---------
 library-user-guide/upgrading/55.0.0.html           | 73 +++++++++++++---------
 searchindex.js                                     |  2 +-
 3 files changed, 81 insertions(+), 62 deletions(-)

diff --git a/_sources/library-user-guide/upgrading/55.0.0.md.txt 
b/_sources/library-user-guide/upgrading/55.0.0.md.txt
index 181e0e0b7f..f7d2745549 100644
--- a/_sources/library-user-guide/upgrading/55.0.0.md.txt
+++ b/_sources/library-user-guide/upgrading/55.0.0.md.txt
@@ -295,37 +295,42 @@ as a supertrait:
 + pub trait QueryPlanner: Any + Debug
 ```
 
-### `ExecutionPlan::partition_statistics` deprecated in favor of 
`statistics_with_args`
+### `ExecutionPlan::partition_statistics` deprecated in favor of 
`statistics_from_inputs`
 
-`ExecutionPlan::partition_statistics` is deprecated. A new method
-`statistics_with_args` accepts a `StatisticsArgs` parameter that carries
-the partition index and a shared cache for memoized child statistics lookups.
+`ExecutionPlan::partition_statistics` is deprecated. Statistics computation is
+now split into two parts:
+
+- `StatisticsContext` owns the bottom-up plan-tree traversal and a per-walk
+  cache of memoized child statistics. Call `StatisticsContext::compute` to
+  obtain statistics for a plan.
+- `ExecutionPlan::statistics_from_inputs` computes a node's statistics from its
+  children's already-resolved statistics, which the context passes in. The node
+  does not traverse the tree itself.
 
 Existing implementations of `partition_statistics` continue to work unchanged.
-The default `statistics_with_args` delegates to the deprecated method, so no
+The default `statistics_from_inputs` delegates to the deprecated method, so no
 migration is required until the deprecated method is removed.
 
-> **Warning:** The delegation is **one-way**: the default 
`statistics_with_args`
+> **Warning:** The delegation is **one-way**: the default 
`statistics_from_inputs`
 > calls `partition_statistics`, but the default `partition_statistics` does
-> **not** call `statistics_with_args` — it returns `Statistics::new_unknown`.
-> Nodes that override only `statistics_with_args` will silently return
+> **not** call `statistics_from_inputs` — it returns `Statistics::new_unknown`.
+> Nodes that override only `statistics_from_inputs` will silently return
 > `Statistics::new_unknown` to any caller still using the deprecated
 > `partition_statistics`.
 
 **Who is affected:**
 
 - Users who implement custom `ExecutionPlan` nodes (recommended to migrate)
-- Users who call `partition_statistics` directly (recommended to switch to 
`statistics_with_args`)
+- Users who call `partition_statistics` directly (recommended to switch to 
`StatisticsContext::compute`)
 
 **Migration guide:**
 
-For **implementations**, override `statistics_with_args` instead of
-`partition_statistics`. Leaf nodes that do not have children can ignore
-the args.
-
-Child statistics are looked up via `args.compute_child_statistics(child, 
partition)`.
-Use `args.partition()` for partition-preserving operators, or `None` for
-partition-merging operators that always need overall stats:
+For **implementations**, override `statistics_from_inputs` instead of
+`partition_statistics`, plus `child_stats_requests` to declare which children 
to
+resolve. Child statistics then arrive pre-computed in `input_stats` (one entry 
per
+child, in `children()` order), so the node only expresses its local propagation
+logic. Leaf nodes, and nodes that derive their statistics without reading 
children,
+need neither override (the default `child_stats_requests` skips every child).
 
 ```rust,ignore
 // Before:
@@ -334,36 +339,39 @@ fn partition_statistics(&self, partition: Option<usize>) 
-> Result<Arc<Statistic
     // ... transform child_stats ...
 }
 
-// After (partition-preserving):
-fn statistics_with_args(
-    &self,
-    args: &StatisticsArgs,
-) -> Result<Arc<Statistics>> {
-    let child_stats = args.compute_child_statistics(&self.input, 
args.partition())?;
-    // ... transform child_stats ...
+// After: declare the child to resolve, then compute from its statistics.
+fn child_stats_requests(&self, partition: Option<usize>) -> Vec<ChildStats> {
+    vec![ChildStats::At(partition)]
 }
 
-// After (partition-merging):
-fn statistics_with_args(
+fn statistics_from_inputs(
     &self,
+    input_stats: &[Arc<Statistics>],
     args: &StatisticsArgs,
 ) -> Result<Arc<Statistics>> {
-    let child_stats = args.compute_child_statistics(&self.input, None)?;
+    let child_stats = Arc::clone(&input_stats[0]);
     // ... transform child_stats ...
 }
 ```
 
-For **callers**, create a `StatisticsArgs` and call `statistics_with_args`
-directly. The cache is created automatically:
+> **Important:** the default `child_stats_requests` skips every child, so a 
node that
+> reads `input_stats` must override it to declare the children it uses, or 
those slots
+> are filled with `Statistics::new_unknown` placeholders. Request a child with
+> `ChildStats::At(partition)` (`None` = overall) and omit one with 
`ChildStats::Skip`.
+> For example, a partition-merging operator requests `ChildStats::At(None)`, 
and a
+> broadcast join requests its build side at `None`.
+
+For **callers**, walk a plan through `StatisticsContext::compute`. The cache is
+created with the context:
 
 ```rust,ignore
-use datafusion_physical_plan::StatisticsArgs;
+use datafusion_physical_plan::{StatisticsArgs, StatisticsContext};
 
 // Before:
 let stats = plan.partition_statistics(None)?;
 
 // After:
-let stats = plan.statistics_with_args(&StatisticsArgs::new())?;
+let stats = StatisticsContext::new().compute(plan.as_ref(), 
&StatisticsArgs::new())?;
 ```
 
 ### `DdlStatement::CreateExternalTable` and `CreateFunction` are now boxed
diff --git a/library-user-guide/upgrading/55.0.0.html 
b/library-user-guide/upgrading/55.0.0.html
index e7262d9073..ad4d20fe6c 100644
--- a/library-user-guide/upgrading/55.0.0.html
+++ b/library-user-guide/upgrading/55.0.0.html
@@ -680,68 +680,79 @@ as a supertrait:</p>
 </pre></div>
 </div>
 </section>
-<section 
id="executionplan-partition-statistics-deprecated-in-favor-of-statistics-with-args">
-<h3><code class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::partition_statistics</span></code> deprecated in 
favor of <code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code><a class="headerlink" 
href="#executionplan-partition-statistics-deprecated-in-favor-of-statistics-with-args"
 title="Link to this heading">#</a></h3>
-<p><code class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::partition_statistics</span></code> is deprecated. A 
new method
-<code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code> accepts a <code class="docutils 
literal notranslate"><span class="pre">StatisticsArgs</span></code> parameter 
that carries
-the partition index and a shared cache for memoized child statistics 
lookups.</p>
+<section 
id="executionplan-partition-statistics-deprecated-in-favor-of-statistics-from-inputs">
+<h3><code class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::partition_statistics</span></code> deprecated in 
favor of <code class="docutils literal notranslate"><span 
class="pre">statistics_from_inputs</span></code><a class="headerlink" 
href="#executionplan-partition-statistics-deprecated-in-favor-of-statistics-from-inputs"
 title="Link to this heading">#</a></h3>
+<p><code class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::partition_statistics</span></code> is deprecated. 
Statistics computation is
+now split into two parts:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">StatisticsContext</span></code> owns the bottom-up plan-tree 
traversal and a per-walk
+cache of memoized child statistics. Call <code class="docutils literal 
notranslate"><span class="pre">StatisticsContext::compute</span></code> to
+obtain statistics for a plan.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::statistics_from_inputs</span></code> computes a 
node’s statistics from its
+children’s already-resolved statistics, which the context passes in. The node
+does not traverse the tree itself.</p></li>
+</ul>
 <p>Existing implementations of <code class="docutils literal 
notranslate"><span class="pre">partition_statistics</span></code> continue to 
work unchanged.
-The default <code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code> delegates to the deprecated 
method, so no
+The default <code class="docutils literal notranslate"><span 
class="pre">statistics_from_inputs</span></code> delegates to the deprecated 
method, so no
 migration is required until the deprecated method is removed.</p>
 <blockquote>
-<div><p><strong>Warning:</strong> The delegation is <strong>one-way</strong>: 
the default <code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code>
+<div><p><strong>Warning:</strong> The delegation is <strong>one-way</strong>: 
the default <code class="docutils literal notranslate"><span 
class="pre">statistics_from_inputs</span></code>
 calls <code class="docutils literal notranslate"><span 
class="pre">partition_statistics</span></code>, but the default <code 
class="docutils literal notranslate"><span 
class="pre">partition_statistics</span></code> does
-<strong>not</strong> call <code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code> — it returns <code 
class="docutils literal notranslate"><span 
class="pre">Statistics::new_unknown</span></code>.
-Nodes that override only <code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code> will silently return
+<strong>not</strong> call <code class="docutils literal notranslate"><span 
class="pre">statistics_from_inputs</span></code> — it returns <code 
class="docutils literal notranslate"><span 
class="pre">Statistics::new_unknown</span></code>.
+Nodes that override only <code class="docutils literal notranslate"><span 
class="pre">statistics_from_inputs</span></code> will silently return
 <code class="docutils literal notranslate"><span 
class="pre">Statistics::new_unknown</span></code> to any caller still using the 
deprecated
 <code class="docutils literal notranslate"><span 
class="pre">partition_statistics</span></code>.</p>
 </div></blockquote>
 <p><strong>Who is affected:</strong></p>
 <ul class="simple">
 <li><p>Users who implement custom <code class="docutils literal 
notranslate"><span class="pre">ExecutionPlan</span></code> nodes (recommended 
to migrate)</p></li>
-<li><p>Users who call <code class="docutils literal notranslate"><span 
class="pre">partition_statistics</span></code> directly (recommended to switch 
to <code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code>)</p></li>
+<li><p>Users who call <code class="docutils literal notranslate"><span 
class="pre">partition_statistics</span></code> directly (recommended to switch 
to <code class="docutils literal notranslate"><span 
class="pre">StatisticsContext::compute</span></code>)</p></li>
 </ul>
 <p><strong>Migration guide:</strong></p>
-<p>For <strong>implementations</strong>, override <code class="docutils 
literal notranslate"><span class="pre">statistics_with_args</span></code> 
instead of
-<code class="docutils literal notranslate"><span 
class="pre">partition_statistics</span></code>. Leaf nodes that do not have 
children can ignore
-the args.</p>
-<p>Child statistics are looked up via <code class="docutils literal 
notranslate"><span class="pre">args.compute_child_statistics(child,</span> 
<span class="pre">partition)</span></code>.
-Use <code class="docutils literal notranslate"><span 
class="pre">args.partition()</span></code> for partition-preserving operators, 
or <code class="docutils literal notranslate"><span 
class="pre">None</span></code> for
-partition-merging operators that always need overall stats:</p>
+<p>For <strong>implementations</strong>, override <code class="docutils 
literal notranslate"><span class="pre">statistics_from_inputs</span></code> 
instead of
+<code class="docutils literal notranslate"><span 
class="pre">partition_statistics</span></code>, plus <code class="docutils 
literal notranslate"><span class="pre">child_stats_requests</span></code> to 
declare which children to
+resolve. Child statistics then arrive pre-computed in <code class="docutils 
literal notranslate"><span class="pre">input_stats</span></code> (one entry per
+child, in <code class="docutils literal notranslate"><span 
class="pre">children()</span></code> order), so the node only expresses its 
local propagation
+logic. Leaf nodes, and nodes that derive their statistics without reading 
children,
+need neither override (the default <code class="docutils literal 
notranslate"><span class="pre">child_stats_requests</span></code> skips every 
child).</p>
 <div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="c1">// Before:</span>
 <span class="k">fn</span><span class="w"> </span><span 
class="nf">partition_statistics</span><span class="p">(</span><span 
class="o">&amp;</span><span class="bp">self</span><span class="p">,</span><span 
class="w"> </span><span class="n">partition</span><span class="p">:</span><span 
class="w"> </span><span class="nb">Option</span><span 
class="o">&lt;</span><span class="kt">usize</span><span 
class="o">&gt;</span><span class="p">)</span><span class="w"> </span><span 
class="p">-&gt;</span><s [...]
 <span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">child_stats</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="bp">self</span><span 
class="p">.</span><span class="n">input</span><span class="p">.</span><span 
class="n">partition_statistics</span><span class="p">(</span><span 
class="n">partition</span><span class="p">)</span><span class="o">?</span><span 
class="p">;</span>
 <span class="w">    </span><span class="c1">// ... transform child_stats 
...</span>
 <span class="p">}</span>
 
-<span class="c1">// After (partition-preserving):</span>
-<span class="k">fn</span><span class="w"> </span><span 
class="nf">statistics_with_args</span><span class="p">(</span>
-<span class="w">    </span><span class="o">&amp;</span><span 
class="bp">self</span><span class="p">,</span>
-<span class="w">    </span><span class="n">args</span><span 
class="p">:</span><span class="w"> </span><span class="kp">&amp;</span><span 
class="nc">StatisticsArgs</span><span class="p">,</span>
-<span class="p">)</span><span class="w"> </span><span 
class="p">-&gt;</span><span class="w"> </span><span 
class="nb">Result</span><span class="o">&lt;</span><span 
class="n">Arc</span><span class="o">&lt;</span><span 
class="n">Statistics</span><span class="o">&gt;&gt;</span><span class="w"> 
</span><span class="p">{</span>
-<span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">child_stats</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">args</span><span 
class="p">.</span><span class="n">compute_child_statistics</span><span 
class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span 
class="p">.</span><span class="n">input</span><span class="p">,</span><span 
class="w"> </span><span class="n">args</span><sp [...]
-<span class="w">    </span><span class="c1">// ... transform child_stats 
...</span>
+<span class="c1">// After: declare the child to resolve, then compute from its 
statistics.</span>
+<span class="k">fn</span><span class="w"> </span><span 
class="nf">child_stats_requests</span><span class="p">(</span><span 
class="o">&amp;</span><span class="bp">self</span><span class="p">,</span><span 
class="w"> </span><span class="n">partition</span><span class="p">:</span><span 
class="w"> </span><span class="nb">Option</span><span 
class="o">&lt;</span><span class="kt">usize</span><span 
class="o">&gt;</span><span class="p">)</span><span class="w"> </span><span 
class="p">-&gt;</span><s [...]
+<span class="w">    </span><span class="fm">vec!</span><span 
class="p">[</span><span class="n">ChildStats</span><span 
class="p">::</span><span class="n">At</span><span class="p">(</span><span 
class="n">partition</span><span class="p">)]</span>
 <span class="p">}</span>
 
-<span class="c1">// After (partition-merging):</span>
-<span class="k">fn</span><span class="w"> </span><span 
class="nf">statistics_with_args</span><span class="p">(</span>
+<span class="k">fn</span><span class="w"> </span><span 
class="nf">statistics_from_inputs</span><span class="p">(</span>
 <span class="w">    </span><span class="o">&amp;</span><span 
class="bp">self</span><span class="p">,</span>
+<span class="w">    </span><span class="n">input_stats</span><span 
class="p">:</span><span class="w"> </span><span class="kp">&amp;</span><span 
class="p">[</span><span class="n">Arc</span><span class="o">&lt;</span><span 
class="n">Statistics</span><span class="o">&gt;</span><span class="p">],</span>
 <span class="w">    </span><span class="n">args</span><span 
class="p">:</span><span class="w"> </span><span class="kp">&amp;</span><span 
class="nc">StatisticsArgs</span><span class="p">,</span>
 <span class="p">)</span><span class="w"> </span><span 
class="p">-&gt;</span><span class="w"> </span><span 
class="nb">Result</span><span class="o">&lt;</span><span 
class="n">Arc</span><span class="o">&lt;</span><span 
class="n">Statistics</span><span class="o">&gt;&gt;</span><span class="w"> 
</span><span class="p">{</span>
-<span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">child_stats</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">args</span><span 
class="p">.</span><span class="n">compute_child_statistics</span><span 
class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span 
class="p">.</span><span class="n">input</span><span class="p">,</span><span 
class="w"> </span><span class="nb">None</span><s [...]
+<span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">child_stats</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">Arc</span><span 
class="p">::</span><span class="n">clone</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">input_stats</span><span 
class="p">[</span><span class="mi">0</span><span class="p">]);</span>
 <span class="w">    </span><span class="c1">// ... transform child_stats 
...</span>
 <span class="p">}</span>
 </pre></div>
 </div>
-<p>For <strong>callers</strong>, create a <code class="docutils literal 
notranslate"><span class="pre">StatisticsArgs</span></code> and call <code 
class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code>
-directly. The cache is created automatically:</p>
-<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">use</span><span class="w"> 
</span><span class="n">datafusion_physical_plan</span><span 
class="p">::</span><span class="n">StatisticsArgs</span><span class="p">;</span>
+<blockquote>
+<div><p><strong>Important:</strong> the default <code class="docutils literal 
notranslate"><span class="pre">child_stats_requests</span></code> skips every 
child, so a node that
+reads <code class="docutils literal notranslate"><span 
class="pre">input_stats</span></code> must override it to declare the children 
it uses, or those slots
+are filled with <code class="docutils literal notranslate"><span 
class="pre">Statistics::new_unknown</span></code> placeholders. Request a child 
with
+<code class="docutils literal notranslate"><span 
class="pre">ChildStats::At(partition)</span></code> (<code class="docutils 
literal notranslate"><span class="pre">None</span></code> = overall) and omit 
one with <code class="docutils literal notranslate"><span 
class="pre">ChildStats::Skip</span></code>.
+For example, a partition-merging operator requests <code class="docutils 
literal notranslate"><span class="pre">ChildStats::At(None)</span></code>, and a
+broadcast join requests its build side at <code class="docutils literal 
notranslate"><span class="pre">None</span></code>.</p>
+</div></blockquote>
+<p>For <strong>callers</strong>, walk a plan through <code class="docutils 
literal notranslate"><span 
class="pre">StatisticsContext::compute</span></code>. The cache is
+created with the context:</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">use</span><span class="w"> 
</span><span class="n">datafusion_physical_plan</span><span 
class="p">::{</span><span class="n">StatisticsArgs</span><span 
class="p">,</span><span class="w"> </span><span 
class="n">StatisticsContext</span><span class="p">};</span>
 
 <span class="c1">// Before:</span>
 <span class="kd">let</span><span class="w"> </span><span 
class="n">stats</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">plan</span><span class="p">.</span><span 
class="n">partition_statistics</span><span class="p">(</span><span 
class="nb">None</span><span class="p">)</span><span class="o">?</span><span 
class="p">;</span>
 
 <span class="c1">// After:</span>
-<span class="kd">let</span><span class="w"> </span><span 
class="n">stats</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">plan</span><span class="p">.</span><span 
class="n">statistics_with_args</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">StatisticsArgs</span><span 
class="p">::</span><span class="n">new</span><span class="p">())</span><span 
class="o">?</span><span class="p">;</span>
+<span class="kd">let</span><span class="w"> </span><span 
class="n">stats</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">StatisticsContext</span><span 
class="p">::</span><span class="n">new</span><span class="p">().</span><span 
class="n">compute</span><span class="p">(</span><span 
class="n">plan</span><span class="p">.</span><span class="n">as_ref</span><span 
class="p">(),</span><span class="w"> </span><span class="o">&amp;</span><span 
class= [...]
 </pre></div>
 </div>
 </section>
@@ -1001,7 +1012,7 @@ metadata and schema fingerprint match.</p>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#is-dynamic-physical-expr-is-deprecated"><code class="docutils literal 
notranslate"><span class="pre">is_dynamic_physical_expr</span></code> is 
deprecated</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#filepruner-try-new-no-longer-builds-a-pruner-for-static-predicates-without-statistics"><code
 class="docutils literal notranslate"><span 
class="pre">FilePruner::try_new</span></code> no longer builds a pruner for 
static predicates without statistics</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#queryplanner-adds-any-as-a-supertrait"><code class="docutils literal 
notranslate"><span class="pre">QueryPlanner</span></code> adds <code 
class="docutils literal notranslate"><span class="pre">Any</span></code> as a 
supertrait</a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#executionplan-partition-statistics-deprecated-in-favor-of-statistics-with-args"><code
 class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::partition_statistics</span></code> deprecated in 
favor of <code class="docutils literal notranslate"><span 
class="pre">statistics_with_args</span></code></a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#executionplan-partition-statistics-deprecated-in-favor-of-statistics-from-inputs"><code
 class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::partition_statistics</span></code> deprecated in 
favor of <code class="docutils literal notranslate"><span 
class="pre">statistics_from_inputs</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#ddlstatement-createexternaltable-and-createfunction-are-now-boxed"><code 
class="docutils literal notranslate"><span 
class="pre">DdlStatement::CreateExternalTable</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">CreateFunction</span></code> are now boxed</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#listingoptions-target-partitions-and-collect-stat-removed"><code 
class="docutils literal notranslate"><span 
class="pre">ListingOptions::target_partitions</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">collect_stat</span></code> removed</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#spark-map-functions-now-reject-duplicate-keys-by-default">Spark map 
functions now reject duplicate keys by default</a></li>
diff --git a/searchindex.js b/searchindex.js
index 7ea4e909c8..1d8d373f73 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[74,"op-neq"]],"!~":[[74,"op-re-not-match"]],"!~*":[[74,"op-re-not-match-i"]],"!~~":[[74,"id19"]],"!~~*":[[74,"id20"]],"#":[[74,"op-bit-xor"]],"%":[[74,"op-modulo"]],"&":[[74,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[15,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[74,"op-multiply"]],"+":[[74,"op-plus"]],"-":[[74,"op-minus"]],"/":[[74,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[74,"op-neq"]],"!~":[[74,"op-re-not-match"]],"!~*":[[74,"op-re-not-match-i"]],"!~~":[[74,"id19"]],"!~~*":[[74,"id20"]],"#":[[74,"op-bit-xor"]],"%":[[74,"op-modulo"]],"&":[[74,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[15,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[74,"op-multiply"]],"+":[[74,"op-plus"]],"-":[[74,"op-minus"]],"/":[[74,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to