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 6536dce725 Publish built docs triggered by
41d48b3f6c8ae4fbb536d12910fe27ebc10fd292
6536dce725 is described below
commit 6536dce7252d8645dc2498a3eed21f6c64e24942
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Jan 27 18:21:04 2026 +0000
Publish built docs triggered by 41d48b3f6c8ae4fbb536d12910fe27ebc10fd292
---
_sources/library-user-guide/upgrading.md.txt | 60 ++++++++++++++++++++++++++++
library-user-guide/upgrading.html | 50 +++++++++++++++++++++++
searchindex.js | 2 +-
3 files changed, 111 insertions(+), 1 deletion(-)
diff --git a/_sources/library-user-guide/upgrading.md.txt
b/_sources/library-user-guide/upgrading.md.txt
index 6043c81d14..447a773eee 100644
--- a/_sources/library-user-guide/upgrading.md.txt
+++ b/_sources/library-user-guide/upgrading.md.txt
@@ -154,6 +154,66 @@ The builder pattern is more efficient as it computes
properties once during `bui
Note: `with_default_selectivity()` is not deprecated as it simply updates a
field value and does not require the overhead of the builder pattern.
+### Protobuf conversion trait added
+
+A new trait, `PhysicalProtoConverterExtension`, has been added to the
`datafusion-proto`
+crate. This is used for controlling the process of conversion of physical
plans and
+expressions to and from their protobuf equivalents. The methods for conversion
now
+require an additional parameter.
+
+The primary APIs for interacting with this crate have not been modified, so
most users
+should not need to make any changes. If you do require this trait, you can use
the
+`DefaultPhysicalProtoConverter` implementation.
+
+For example, to convert a sort expression protobuf node you can make the
following
+updates:
+
+**Before:**
+
+```rust,ignore
+let sort_expr = parse_physical_sort_expr(
+ sort_proto,
+ ctx,
+ input_schema,
+ codec,
+);
+```
+
+**After:**
+
+```rust,ignore
+let converter = DefaultPhysicalProtoConverter {};
+let sort_expr = parse_physical_sort_expr(
+ sort_proto,
+ ctx,
+ input_schema,
+ codec,
+ &converter
+);
+```
+
+Similarly to convert from a physical sort expression into a protobuf node:
+
+**Before:**
+
+```rust,ignore
+let sort_proto = serialize_physical_sort_expr(
+ sort_expr,
+ codec,
+);
+```
+
+**After:**
+
+```rust,ignore
+let converter = DefaultPhysicalProtoConverter {};
+let sort_proto = serialize_physical_sort_expr(
+ sort_expr,
+ codec,
+ &converter,
+);
+```
+
### `generate_series` and `range` table functions changed
The `generate_series` and `range` table functions now return an empty set when
the interval is invalid, instead of an error.
diff --git a/library-user-guide/upgrading.html
b/library-user-guide/upgrading.html
index ef51785cd4..c4ab58cbda 100644
--- a/library-user-guide/upgrading.html
+++ b/library-user-guide/upgrading.html
@@ -516,6 +516,55 @@
<p>The builder pattern is more efficient as it computes properties once during
<code class="docutils literal notranslate"><span
class="pre">build()</span></code> rather than recomputing them for each method
call.</p>
<p>Note: <code class="docutils literal notranslate"><span
class="pre">with_default_selectivity()</span></code> is not deprecated as it
simply updates a field value and does not require the overhead of the builder
pattern.</p>
</section>
+<section id="protobuf-conversion-trait-added">
+<h3>Protobuf conversion trait added<a class="headerlink"
href="#protobuf-conversion-trait-added" title="Link to this heading">#</a></h3>
+<p>A new trait, <code class="docutils literal notranslate"><span
class="pre">PhysicalProtoConverterExtension</span></code>, has been added to
the <code class="docutils literal notranslate"><span
class="pre">datafusion-proto</span></code>
+crate. This is used for controlling the process of conversion of physical
plans and
+expressions to and from their protobuf equivalents. The methods for conversion
now
+require an additional parameter.</p>
+<p>The primary APIs for interacting with this crate have not been modified, so
most users
+should not need to make any changes. If you do require this trait, you can use
the
+<code class="docutils literal notranslate"><span
class="pre">DefaultPhysicalProtoConverter</span></code> implementation.</p>
+<p>For example, to convert a sort expression protobuf node you can make the
following
+updates:</p>
+<p><strong>Before:</strong></p>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">sort_expr</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">parse_physical_sort_expr</span><span class="p">(</span>
+<span class="w"> </span><span class="n">sort_proto</span><span
class="p">,</span>
+<span class="w"> </span><span class="n">ctx</span><span class="p">,</span>
+<span class="w"> </span><span class="n">input_schema</span><span
class="p">,</span>
+<span class="w"> </span><span class="n">codec</span><span class="p">,</span>
+<span class="p">);</span>
+</pre></div>
+</div>
+<p><strong>After:</strong></p>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">converter</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">DefaultPhysicalProtoConverter</span><span class="w"> </span><span
class="p">{};</span>
+<span class="kd">let</span><span class="w"> </span><span
class="n">sort_expr</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="n">parse_physical_sort_expr</span><span
class="p">(</span>
+<span class="w"> </span><span class="n">sort_proto</span><span
class="p">,</span>
+<span class="w"> </span><span class="n">ctx</span><span class="p">,</span>
+<span class="w"> </span><span class="n">input_schema</span><span
class="p">,</span>
+<span class="w"> </span><span class="n">codec</span><span class="p">,</span>
+<span class="w"> </span><span class="o">&</span><span
class="n">converter</span>
+<span class="p">);</span>
+</pre></div>
+</div>
+<p>Similarly to convert from a physical sort expression into a protobuf
node:</p>
+<p><strong>Before:</strong></p>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">sort_proto</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">serialize_physical_sort_expr</span><span class="p">(</span>
+<span class="w"> </span><span class="n">sort_expr</span><span
class="p">,</span>
+<span class="w"> </span><span class="n">codec</span><span class="p">,</span>
+<span class="p">);</span>
+</pre></div>
+</div>
+<p><strong>After:</strong></p>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">converter</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">DefaultPhysicalProtoConverter</span><span class="w"> </span><span
class="p">{};</span>
+<span class="kd">let</span><span class="w"> </span><span
class="n">sort_proto</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">serialize_physical_sort_expr</span><span class="p">(</span>
+<span class="w"> </span><span class="n">sort_expr</span><span
class="p">,</span>
+<span class="w"> </span><span class="n">codec</span><span class="p">,</span>
+<span class="w"> </span><span class="o">&</span><span
class="n">converter</span><span class="p">,</span>
+<span class="p">);</span>
+</pre></div>
+</div>
+</section>
<section id="generate-series-and-range-table-functions-changed">
<h3><code class="docutils literal notranslate"><span
class="pre">generate_series</span></code> and <code class="docutils literal
notranslate"><span class="pre">range</span></code> table functions changed<a
class="headerlink" href="#generate-series-and-range-table-functions-changed"
title="Link to this heading">#</a></h3>
<p>The <code class="docutils literal notranslate"><span
class="pre">generate_series</span></code> and <code class="docutils literal
notranslate"><span class="pre">range</span></code> table functions now return
an empty set when the interval is invalid, instead of an error.
@@ -2258,6 +2307,7 @@ take care of constructing the <code class="docutils
literal notranslate"><span c
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#datafusion-53-0-0">DataFusion <code class="docutils literal
notranslate"><span class="pre">53.0.0</span></code></a><ul class="nav
section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link"
href="#simplifyinfo-trait-removed-simplifycontext-now-uses-builder-style-api"><code
class="docutils literal notranslate"><span
class="pre">SimplifyInfo</span></code> trait removed, <code class="docutils
literal notranslate"><span class="pre">SimplifyContext</span></code> now uses
builder-style API</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link"
href="#filterexec-builder-methods-deprecated"><code class="docutils literal
notranslate"><span class="pre">FilterExec</span></code> builder methods
deprecated</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link"
href="#protobuf-conversion-trait-added">Protobuf conversion trait added</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link"
href="#generate-series-and-range-table-functions-changed"><code class="docutils
literal notranslate"><span class="pre">generate_series</span></code> and <code
class="docutils literal notranslate"><span class="pre">range</span></code>
table functions changed</a></li>
</ul>
</li>
diff --git a/searchindex.js b/searchindex.js
index bdb608c5a6..dbf935fbe4 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[62,"op-neq"]],"!~":[[62,"op-re-not-match"]],"!~*":[[62,"op-re-not-match-i"]],"!~~":[[62,"id19"]],"!~~*":[[62,"id20"]],"#":[[62,"op-bit-xor"]],"%":[[62,"op-modulo"]],"&":[[62,"op-bit-and"]],"(relation,
name) tuples in logical fields and logical columns are
unique":[[14,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[62,"op-multiply"]],"+":[[62,"op-plus"]],"-":[[62,"op-minus"]],"/":[[62,"op-divide"]],"1.
Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[62,"op-neq"]],"!~":[[62,"op-re-not-match"]],"!~*":[[62,"op-re-not-match-i"]],"!~~":[[62,"id19"]],"!~~*":[[62,"id20"]],"#":[[62,"op-bit-xor"]],"%":[[62,"op-modulo"]],"&":[[62,"op-bit-and"]],"(relation,
name) tuples in logical fields and logical columns are
unique":[[14,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[62,"op-multiply"]],"+":[[62,"op-plus"]],"-":[[62,"op-minus"]],"/":[[62,"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]