This is an automated email from the ASF dual-hosted git repository.

github-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 5a1bb25e4e Publish built docs triggered by 
e4f16dd60f8d7860792074c091998ea76dd98f74
5a1bb25e4e is described below

commit 5a1bb25e4e5d3da311301a2a51c79fcd823b2fad
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Aug 5 16:37:08 2025 +0000

    Publish built docs triggered by e4f16dd60f8d7860792074c091998ea76dd98f74
---
 .../functions/adding-udfs.md.txt                   |  1 -
 _sources/library-user-guide/upgrading.md.txt       | 62 ++++++++++++++
 library-user-guide/functions/adding-udfs.html      |  1 -
 library-user-guide/upgrading.html                  | 95 ++++++++++++++++++++++
 searchindex.js                                     |  2 +-
 5 files changed, 158 insertions(+), 3 deletions(-)

diff --git a/_sources/library-user-guide/functions/adding-udfs.md.txt 
b/_sources/library-user-guide/functions/adding-udfs.md.txt
index 81bc327dbf..00ee878e1f 100644
--- a/_sources/library-user-guide/functions/adding-udfs.md.txt
+++ b/_sources/library-user-guide/functions/adding-udfs.md.txt
@@ -322,7 +322,6 @@ impl AsyncScalarUDFImpl for AsyncUpper {
     async fn invoke_async_with_args(
         &self,
         args: ScalarFunctionArgs,
-        _option: &ConfigOptions,
     ) -> Result<ArrayRef> {
         let value = &args.args[0];
         // This function simply implements a simple string to uppercase 
conversion
diff --git a/_sources/library-user-guide/upgrading.md.txt 
b/_sources/library-user-guide/upgrading.md.txt
index 77c1b8837b..6332fb6604 100644
--- a/_sources/library-user-guide/upgrading.md.txt
+++ b/_sources/library-user-guide/upgrading.md.txt
@@ -24,6 +24,68 @@
 **Note:** DataFusion `50.0.0` has not been released yet. The information 
provided in this section pertains to features and changes that have already 
been merged to the main branch and are awaiting release in this version.
 You can see the current [status of the `50.0.0 `release 
here](https://github.com/apache/datafusion/issues/16799)
 
+### `SessionState`, `SessionConfig`, and `OptimizerConfig` returns 
`&Arc<ConfigOptions>` instead of `&ConfigOptions`
+
+To provide broader access to `ConfigOptions` and reduce required clones, some
+APIs have been changed to return a `&Arc<ConfigOptions>` instead of a
+`&ConfigOptions`. This allows sharing the same `ConfigOptions` across multiple
+threads without needing to clone the entire `ConfigOptions` structure unless it
+is modified.
+
+Most users will not be impacted by this change since the Rust compiler 
typically
+automatically dereference the `Arc` when needed. However, in some cases you may
+have to change your code to explicitly call `as_ref()` for example, from
+
+```rust
+let optimizer_config: &ConfigOptions = state.options();
+```
+
+To
+
+```rust
+let optimizer_config: &ConfigOptions = state.options().as_ref();
+```
+
+See PR [#16970](https://github.com/apache/datafusion/pull/16970)
+
+### API Change to `AsyncScalarUDFImpl::invoke_async_with_args`
+
+The `invoke_async_with_args` method of the `AsyncScalarUDFImpl` trait has been
+updated to remove the `_option: &ConfigOptions` parameter to simplify the API
+now that the `ConfigOptions` can be accessed through the `ScalarFunctionArgs`
+parameter.
+
+You can change your code like this
+
+```rust
+impl AsyncScalarUDFImpl for AskLLM {
+    async fn invoke_async_with_args(
+        &self,
+        args: ScalarFunctionArgs,
+        _option: &ConfigOptions,
+    ) -> Result<ArrayRef> {
+        ..
+    }
+    ...
+}
+```
+
+To this:
+
+```rust
+
+impl AsyncScalarUDFImpl for AskLLM {
+    async fn invoke_async_with_args(
+        &self,
+        args: ScalarFunctionArgs,
+    ) -> Result<ArrayRef> {
+        let options = &args.config_options;
+        ..
+    }
+    ...
+}
+```
+
 ### Upgrade to arrow `56.0.0` and parquet `56.0.0`
 
 This version of DataFusion upgrades the underlying Apache Arrow implementation
diff --git a/library-user-guide/functions/adding-udfs.html 
b/library-user-guide/functions/adding-udfs.html
index da38be030e..ac25d788e5 100644
--- a/library-user-guide/functions/adding-udfs.html
+++ b/library-user-guide/functions/adding-udfs.html
@@ -1006,7 +1006,6 @@ UDF.</p>
 <span class="w">    </span><span class="k">async</span><span class="w"> 
</span><span class="k">fn</span><span class="w"> </span><span 
class="nf">invoke_async_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="nc">ScalarFunctionArgs</span><span class="p">,</span>
-<span class="w">        </span><span class="n">_option</span><span 
class="p">:</span><span class="w"> </span><span class="kp">&amp;</span><span 
class="nc">ConfigOptions</span><span class="p">,</span>
 <span class="w">    </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">ArrayRef</span><span class="o">&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">value</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">args</span><span class="p">.</span><span class="n">args</span><span 
class="p">[</span><span class="mi">0</span><span class="p">];</span>
 <span class="w">        </span><span class="c1">// This function simply 
implements a simple string to uppercase conversion</span>
diff --git a/library-user-guide/upgrading.html 
b/library-user-guide/upgrading.html
index 630633753f..48fa1d7a69 100644
--- a/library-user-guide/upgrading.html
+++ b/library-user-guide/upgrading.html
@@ -554,6 +554,49 @@
    </code>
   </a>
   <ul class="nav section-nav flex-column">
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#sessionstate-sessionconfig-and-optimizerconfig-returns-arc-configoptions-instead-of-configoptions">
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       SessionState
+      </span>
+     </code>
+     ,
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       SessionConfig
+      </span>
+     </code>
+     , and
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       OptimizerConfig
+      </span>
+     </code>
+     returns
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       &amp;Arc&lt;ConfigOptions&gt;
+      </span>
+     </code>
+     instead of
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       &amp;ConfigOptions
+      </span>
+     </code>
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#api-change-to-asyncscalarudfimpl-invoke-async-with-args">
+     API Change to
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       AsyncScalarUDFImpl::invoke_async_with_args
+      </span>
+     </code>
+    </a>
+   </li>
    <li class="toc-h3 nav-item toc-entry">
     <a class="reference internal nav-link" 
href="#upgrade-to-arrow-56-0-0-and-parquet-56-0-0">
      Upgrade to arrow
@@ -1094,6 +1137,58 @@
 <h2>DataFusion <code class="docutils literal notranslate"><span 
class="pre">50.0.0</span></code><a class="headerlink" href="#datafusion-50-0-0" 
title="Link to this heading">¶</a></h2>
 <p><strong>Note:</strong> DataFusion <code class="docutils literal 
notranslate"><span class="pre">50.0.0</span></code> has not been released yet. 
The information provided in this section pertains to features and changes that 
have already been merged to the main branch and are awaiting release in this 
version.
 You can see the current <a class="reference external" 
href="https://github.com/apache/datafusion/issues/16799";>status of the <code 
class="docutils literal notranslate"><span class="pre">50.0.0</span> 
</code>release here</a></p>
+<section 
id="sessionstate-sessionconfig-and-optimizerconfig-returns-arc-configoptions-instead-of-configoptions">
+<h3><code class="docutils literal notranslate"><span 
class="pre">SessionState</span></code>, <code class="docutils literal 
notranslate"><span class="pre">SessionConfig</span></code>, and <code 
class="docutils literal notranslate"><span 
class="pre">OptimizerConfig</span></code> returns <code class="docutils literal 
notranslate"><span class="pre">&amp;Arc&lt;ConfigOptions&gt;</span></code> 
instead of <code class="docutils literal notranslate"><span 
class="pre">&amp;ConfigOptions</span></co [...]
+<p>To provide broader access to <code class="docutils literal 
notranslate"><span class="pre">ConfigOptions</span></code> and reduce required 
clones, some
+APIs have been changed to return a <code class="docutils literal 
notranslate"><span class="pre">&amp;Arc&lt;ConfigOptions&gt;</span></code> 
instead of a
+<code class="docutils literal notranslate"><span 
class="pre">&amp;ConfigOptions</span></code>. This allows sharing the same 
<code class="docutils literal notranslate"><span 
class="pre">ConfigOptions</span></code> across multiple
+threads without needing to clone the entire <code class="docutils literal 
notranslate"><span class="pre">ConfigOptions</span></code> structure unless it
+is modified.</p>
+<p>Most users will not be impacted by this change since the Rust compiler 
typically
+automatically dereference the <code class="docutils literal notranslate"><span 
class="pre">Arc</span></code> when needed. However, in some cases you may
+have to change your code to explicitly call <code class="docutils literal 
notranslate"><span class="pre">as_ref()</span></code> for example, from</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="kd">let</span><span class="w"> 
</span><span class="n">optimizer_config</span><span class="p">:</span><span 
class="w"> </span><span class="kp">&amp;</span><span 
class="nc">ConfigOptions</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">state</span><span 
class="p">.</span><span class="n">options</span><span class="p">();</span>
+</pre></div>
+</div>
+<p>To</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="kd">let</span><span class="w"> 
</span><span class="n">optimizer_config</span><span class="p">:</span><span 
class="w"> </span><span class="kp">&amp;</span><span 
class="nc">ConfigOptions</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">state</span><span 
class="p">.</span><span class="n">options</span><span class="p">().</span><span 
class="n">as_ref</spa [...]
+</pre></div>
+</div>
+<p>See PR <a class="reference external" 
href="https://github.com/apache/datafusion/pull/16970";>#16970</a></p>
+</section>
+<section id="api-change-to-asyncscalarudfimpl-invoke-async-with-args">
+<h3>API Change to <code class="docutils literal notranslate"><span 
class="pre">AsyncScalarUDFImpl::invoke_async_with_args</span></code><a 
class="headerlink" 
href="#api-change-to-asyncscalarudfimpl-invoke-async-with-args" title="Link to 
this heading">¶</a></h3>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">invoke_async_with_args</span></code> method of the <code 
class="docutils literal notranslate"><span 
class="pre">AsyncScalarUDFImpl</span></code> trait has been
+updated to remove the <code class="docutils literal notranslate"><span 
class="pre">_option:</span> <span class="pre">&amp;ConfigOptions</span></code> 
parameter to simplify the API
+now that the <code class="docutils literal notranslate"><span 
class="pre">ConfigOptions</span></code> can be accessed through the <code 
class="docutils literal notranslate"><span 
class="pre">ScalarFunctionArgs</span></code>
+parameter.</p>
+<p>You can change your code like this</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">impl</span><span class="w"> 
</span><span class="n">AsyncScalarUDFImpl</span><span class="w"> </span><span 
class="k">for</span><span class="w"> </span><span class="n">AskLLM</span><span 
class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="k">async</span><span class="w"> 
</span><span class="k">fn</span><span class="w"> </span><span 
class="nf">invoke_async_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="nc">ScalarFunctionArgs</span><span class="p">,</span>
+<span class="w">        </span><span class="n">_option</span><span 
class="p">:</span><span class="w"> </span><span class="kp">&amp;</span><span 
class="nc">ConfigOptions</span><span class="p">,</span>
+<span class="w">    </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">ArrayRef</span><span class="o">&gt;</span><span class="w"> 
</span><span class="p">{</span>
+<span class="w">        </span><span class="o">..</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">    </span><span class="o">..</span><span class="p">.</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>To this:</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">impl</span><span class="w"> 
</span><span class="n">AsyncScalarUDFImpl</span><span class="w"> </span><span 
class="k">for</span><span class="w"> </span><span class="n">AskLLM</span><span 
class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="k">async</span><span class="w"> 
</span><span class="k">fn</span><span class="w"> </span><span 
class="nf">invoke_async_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="nc">ScalarFunctionArgs</span><span class="p">,</span>
+<span class="w">    </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">ArrayRef</span><span class="o">&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">options</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">args</span><span class="p">.</span><span 
class="n">config_options</span><span class="p">;</span>
+<span class="w">        </span><span class="o">..</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">    </span><span class="o">..</span><span class="p">.</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</section>
 <section id="upgrade-to-arrow-56-0-0-and-parquet-56-0-0">
 <h3>Upgrade to arrow <code class="docutils literal notranslate"><span 
class="pre">56.0.0</span></code> and parquet <code class="docutils literal 
notranslate"><span class="pre">56.0.0</span></code><a class="headerlink" 
href="#upgrade-to-arrow-56-0-0-and-parquet-56-0-0" title="Link to this 
heading">¶</a></h3>
 <p>This version of DataFusion upgrades the underlying Apache Arrow 
implementation
diff --git a/searchindex.js b/searchindex.js
index 1fba5906f5..a397ea7d0f 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[56,"op-neq"]],"!~":[[56,"op-re-not-match"]],"!~*":[[56,"op-re-not-match-i"]],"!~~":[[56,"id19"]],"!~~*":[[56,"id20"]],"#":[[56,"op-bit-xor"]],"%":[[56,"op-modulo"]],"&":[[56,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[12,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[56,"op-multiply"]],"+":[[56,"op-plus"]],"-":[[56,"op-minus"]],"/":[[56,"op-divide"]],"<":[[56,"op-lt"]],"<
 [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[56,"op-neq"]],"!~":[[56,"op-re-not-match"]],"!~*":[[56,"op-re-not-match-i"]],"!~~":[[56,"id19"]],"!~~*":[[56,"id20"]],"#":[[56,"op-bit-xor"]],"%":[[56,"op-modulo"]],"&":[[56,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[12,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[56,"op-multiply"]],"+":[[56,"op-plus"]],"-":[[56,"op-minus"]],"/":[[56,"op-divide"]],"<":[[56,"op-lt"]],"<
 [...]
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@datafusion.apache.org
For additional commands, e-mail: commits-h...@datafusion.apache.org

Reply via email to