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">&</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">&</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">-></span><span class="w"> </span><span class="nb">Result</span><span class="o"><</span><span class="n">ArrayRef</span><span class="o">></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">&</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"> + &Arc<ConfigOptions> + </span> + </code> + instead of + <code class="docutils literal notranslate"> + <span class="pre"> + &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">&Arc<ConfigOptions></span></code> instead of <code class="docutils literal notranslate"><span class="pre">&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">&Arc<ConfigOptions></span></code> instead of a +<code class="docutils literal notranslate"><span class="pre">&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">&</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">&</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">&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">&</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">&</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">-></span><span class="w"> </span><span class="nb">Result</span><span class="o"><</span><span class="n">ArrayRef</span><span class="o">></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">&</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">-></span><span class="w"> </span><span class="nb">Result</span><span class="o"><</span><span class="n">ArrayRef</span><span class="o">></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">&</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