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 efbcdf47df Publish built docs triggered by 
6eb8d45c122cf4c690bf3e8521c529ec720b549b
efbcdf47df is described below

commit efbcdf47dfa5e3b7e38fabd9a5d8d616624c37f2
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Oct 27 18:48:28 2025 +0000

    Publish built docs triggered by 6eb8d45c122cf4c690bf3e8521c529ec720b549b
---
 _sources/library-user-guide/upgrading.md.txt | 51 ++++++++++++++++++++++++++++
 library-user-guide/upgrading.html            | 33 ++++++++++++++++++
 searchindex.js                               |  2 +-
 3 files changed, 85 insertions(+), 1 deletion(-)

diff --git a/_sources/library-user-guide/upgrading.md.txt 
b/_sources/library-user-guide/upgrading.md.txt
index 4174fef7a6..c568b8b28e 100644
--- a/_sources/library-user-guide/upgrading.md.txt
+++ b/_sources/library-user-guide/upgrading.md.txt
@@ -125,6 +125,57 @@ Users may need to update their paths to account for these 
changes.
 
 See [issue #17713] for more details.
 
+### `FileScanConfig::projection` renamed to `FileScanConfig::projection_exprs`
+
+The `projection` field in `FileScanConfig` has been renamed to 
`projection_exprs` and its type has changed from `Option<Vec<usize>>` to 
`Option<ProjectionExprs>`. This change enables more powerful projection 
pushdown capabilities by supporting arbitrary physical expressions rather than 
just column indices.
+
+**Impact on direct field access:**
+
+If you directly access the `projection` field:
+
+```rust
+# /* comment to avoid running
+let config: FileScanConfig = ...;
+let projection = config.projection;
+# */
+```
+
+You should update to:
+
+```rust
+# /* comment to avoid running
+let config: FileScanConfig = ...;
+let projection_exprs = config.projection_exprs;
+# */
+```
+
+**Impact on builders:**
+
+The `FileScanConfigBuilder::with_projection()` method has been deprecated in 
favor of `with_projection_indices()`:
+
+```diff
+let config = FileScanConfigBuilder::new(url, schema, file_source)
+-   .with_projection(Some(vec![0, 2, 3]))
++   .with_projection_indices(Some(vec![0, 2, 3]))
+    .build();
+```
+
+Note: `with_projection()` still works but is deprecated and will be removed in 
a future release.
+
+**What is `ProjectionExprs`?**
+
+`ProjectionExprs` is a new type that represents a list of physical expressions 
for projection. While it can be constructed from column indices (which is what 
`with_projection_indices` does internally), it also supports arbitrary physical 
expressions, enabling advanced features like expression evaluation during 
scanning.
+
+You can access column indices from `ProjectionExprs` using its methods if 
needed:
+
+```rust
+# /* comment to avoid running
+let projection_exprs: ProjectionExprs = ...;
+// Get the column indices if the projection only contains simple column 
references
+let indices = projection_exprs.column_indices();
+# */
+```
+
 ### `DESCRIBE query` support
 
 `DESCRIBE query` was previously an alias for `EXPLAIN query`, which outputs the
diff --git a/library-user-guide/upgrading.html 
b/library-user-guide/upgrading.html
index 86dd54fc9a..fe81df1f4e 100644
--- a/library-user-guide/upgrading.html
+++ b/library-user-guide/upgrading.html
@@ -812,6 +812,38 @@ This follows the pattern for the AVRO, CSV, JSON, and 
Parquet data sources.
 Users may need to update their paths to account for these changes.</p>
 <p>See <a class="reference external" 
href="https://github.com/apache/datafusion/issues/17713";>issue #17713</a> for 
more details.</p>
 </section>
+<section 
id="filescanconfig-projection-renamed-to-filescanconfig-projection-exprs">
+<h3><code class="docutils literal notranslate"><span 
class="pre">FileScanConfig::projection</span></code> renamed to <code 
class="docutils literal notranslate"><span 
class="pre">FileScanConfig::projection_exprs</span></code><a class="headerlink" 
href="#filescanconfig-projection-renamed-to-filescanconfig-projection-exprs" 
title="Link to this heading">#</a></h3>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">projection</span></code> field in <code class="docutils literal 
notranslate"><span class="pre">FileScanConfig</span></code> has been renamed to 
<code class="docutils literal notranslate"><span 
class="pre">projection_exprs</span></code> and its type has changed from <code 
class="docutils literal notranslate"><span 
class="pre">Option&lt;Vec&lt;usize&gt;&gt;</span></code> to <code 
class="docutils literal notranslate"><span  [...]
+<p><strong>Impact on direct field access:</strong></p>
+<p>If you directly access the <code class="docutils literal notranslate"><span 
class="pre">projection</span></code> field:</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="kd">let</span><span class="w"> 
</span><span class="n">config</span><span class="p">:</span><span class="w"> 
</span><span class="nc">FileScanConfig</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="o">..</span><span 
class="p">.;</span>
+<span class="kd">let</span><span class="w"> </span><span 
class="n">projection</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">config</span><span 
class="p">.</span><span class="n">projection</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>You should update 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">config</span><span class="p">:</span><span class="w"> 
</span><span class="nc">FileScanConfig</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="o">..</span><span 
class="p">.;</span>
+<span class="kd">let</span><span class="w"> </span><span 
class="n">projection_exprs</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">config</span><span 
class="p">.</span><span class="n">projection_exprs</span><span 
class="p">;</span>
+</pre></div>
+</div>
+<p><strong>Impact on builders:</strong></p>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">FileScanConfigBuilder::with_projection()</span></code> method has 
been deprecated in favor of <code class="docutils literal notranslate"><span 
class="pre">with_projection_indices()</span></code>:</p>
+<div class="highlight-diff notranslate"><div 
class="highlight"><pre><span></span>let config = 
FileScanConfigBuilder::new(url, schema, file_source)
+<span class="gd">-   .with_projection(Some(vec![0, 2, 3]))</span>
+<span class="gi">+   .with_projection_indices(Some(vec![0, 2, 3]))</span>
+<span class="w"> </span>   .build();
+</pre></div>
+</div>
+<p>Note: <code class="docutils literal notranslate"><span 
class="pre">with_projection()</span></code> still works but is deprecated and 
will be removed in a future release.</p>
+<p><strong>What is <code class="docutils literal notranslate"><span 
class="pre">ProjectionExprs</span></code>?</strong></p>
+<p><code class="docutils literal notranslate"><span 
class="pre">ProjectionExprs</span></code> is a new type that represents a list 
of physical expressions for projection. While it can be constructed from column 
indices (which is what <code class="docutils literal notranslate"><span 
class="pre">with_projection_indices</span></code> does internally), it also 
supports arbitrary physical expressions, enabling advanced features like 
expression evaluation during scanning.</p>
+<p>You can access column indices from <code class="docutils literal 
notranslate"><span class="pre">ProjectionExprs</span></code> using its methods 
if needed:</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="kd">let</span><span class="w"> 
</span><span class="n">projection_exprs</span><span class="p">:</span><span 
class="w"> </span><span class="nc">ProjectionExprs</span><span class="w"> 
</span><span class="o">=</span><span class="w"> </span><span 
class="o">..</span><span class="p">.;</span>
+<span class="c1">// Get the column indices if the projection only contains 
simple column references</span>
+<span class="kd">let</span><span class="w"> </span><span 
class="n">indices</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">projection_exprs</span><span 
class="p">.</span><span class="n">column_indices</span><span 
class="p">();</span>
+</pre></div>
+</div>
+</section>
 <section id="describe-query-support">
 <h3><code class="docutils literal notranslate"><span 
class="pre">DESCRIBE</span> <span class="pre">query</span></code> support<a 
class="headerlink" href="#describe-query-support" title="Link to this 
heading">#</a></h3>
 <p><code class="docutils literal notranslate"><span 
class="pre">DESCRIBE</span> <span class="pre">query</span></code> was 
previously an alias for <code class="docutils literal notranslate"><span 
class="pre">EXPLAIN</span> <span class="pre">query</span></code>, which outputs 
the
@@ -1772,6 +1804,7 @@ take care of constructing the <code class="docutils 
literal notranslate"><span c
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#sessionstate-s-sql-to-statement-method-takes-dialect-rather-than-a-str"><code
 class="docutils literal notranslate"><span 
class="pre">SessionState</span></code>’s <code class="docutils literal 
notranslate"><span class="pre">sql_to_statement</span></code> method takes 
<code class="docutils literal notranslate"><span 
class="pre">Dialect</span></code> rather than a <code class="docutils literal 
notranslate">< [...]
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#reorganization-of-listingtable-into-datafusion-catalog-listing-crate">Reorganization
 of <code class="docutils literal notranslate"><span 
class="pre">ListingTable</span></code> into <code class="docutils literal 
notranslate"><span class="pre">datafusion-catalog-listing</span></code> 
crate</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#reorganization-of-arrowsource-into-datafusion-datasource-arrow-crate">Reorganization
 of <code class="docutils literal notranslate"><span 
class="pre">ArrowSource</span></code> into <code class="docutils literal 
notranslate"><span class="pre">datafusion-datasource-arrow</span></code> 
crate</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#filescanconfig-projection-renamed-to-filescanconfig-projection-exprs"><code
 class="docutils literal notranslate"><span 
class="pre">FileScanConfig::projection</span></code> renamed to <code 
class="docutils literal notranslate"><span 
class="pre">FileScanConfig::projection_exprs</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#describe-query-support"><code class="docutils literal notranslate"><span 
class="pre">DESCRIBE</span> <span class="pre">query</span></code> 
support</a></li>
 </ul>
 </li>
diff --git a/searchindex.js b/searchindex.js
index 4148eedb33..9721c46e45 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[60,"op-neq"]],"!~":[[60,"op-re-not-match"]],"!~*":[[60,"op-re-not-match-i"]],"!~~":[[60,"id19"]],"!~~*":[[60,"id20"]],"#":[[60,"op-bit-xor"]],"%":[[60,"op-modulo"]],"&":[[60,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[13,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[60,"op-multiply"]],"+":[[60,"op-plus"]],"-":[[60,"op-minus"]],"/":[[60,"op-divide"]],"<":[[60,"op-lt"]],"<
 [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[60,"op-neq"]],"!~":[[60,"op-re-not-match"]],"!~*":[[60,"op-re-not-match-i"]],"!~~":[[60,"id19"]],"!~~*":[[60,"id20"]],"#":[[60,"op-bit-xor"]],"%":[[60,"op-modulo"]],"&":[[60,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[13,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[60,"op-multiply"]],"+":[[60,"op-plus"]],"-":[[60,"op-minus"]],"/":[[60,"op-divide"]],"<":[[60,"op-lt"]],"<
 [...]
\ No newline at end of file


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

Reply via email to