You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by gi...@apache.org on 2026/08/21 12:26:21 UTC

(datafusion) branch asf-site updated: Publish built docs triggered by e2bdc2c21889ee4706071708ab6fe9b6b6f9fe5e

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 885e8b65e5 Publish built docs triggered by e2bdc2c21889ee4706071708ab6fe9b6b6f9fe5e
885e8b65e5 is described below

commit 885e8b65e53e23dfc66f13907e64073c00863a1b
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Fri Aug 21 12:26:15 2026 +0000

    Publish built docs triggered by e2bdc2c21889ee4706071708ab6fe9b6b6f9fe5e
---
 _sources/library-user-guide/upgrading/55.0.0.md.txt | 19 +++++++++++++++++++
 library-user-guide/upgrading/55.0.0.html            | 18 ++++++++++++++++++
 searchindex.js                                      |  2 +-
 3 files changed, 38 insertions(+), 1 deletion(-)

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 e88722bbf4..4483fe7605 100644
--- a/_sources/library-user-guide/upgrading/55.0.0.md.txt
+++ b/_sources/library-user-guide/upgrading/55.0.0.md.txt
@@ -25,6 +25,25 @@
 in this section pertains to features and changes that have already been merged
 to the main branch and are awaiting release in this version.
 
+### Map casts with nested Structs use schema-evolution rules
+
+Casts of a `Map` whose key or value recursively contains a `Struct` now adapt
+nested Struct fields by case-sensitive name. Nullable fields added to the target
+Struct are filled with `NULL`, and source-only fields are omitted. Missing
+non-nullable target fields, nullable-to-non-nullable changes, and incompatible
+nested types are rejected.
+
+Map keys define map identity. During this nested-Struct adaptation, key Struct
+fields cannot be removed and primitive key type changes must preserve every
+source value (for example, `Int32` to `Int64` is allowed, while `Int64` to
+`Int32` is rejected). Sorted Maps also require an unchanged key type and the
+same sorted flag.
+
+**Migration guide:** Schemas that relied on positional Struct-field matching,
+key-field removal, or narrowing Map-key casts must be updated to retain
+case-sensitive field names and key identity. Ordinary Maps without semantic
+Struct children continue to use Arrow's normal Map cast behavior.
+
 ### `TableProvider::scan` takes `Option<&[usize]>` for the projection
 
 `TableProvider::scan` and the related APIs listed below previously took the
diff --git a/library-user-guide/upgrading/55.0.0.html b/library-user-guide/upgrading/55.0.0.html
index c961f28c4e..3944c165c2 100644
--- a/library-user-guide/upgrading/55.0.0.html
+++ b/library-user-guide/upgrading/55.0.0.html
@@ -455,6 +455,23 @@
 <p><strong>Note:</strong> DataFusion <code class="docutils literal notranslate"><span class="pre">55.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.</p>
+<section id="map-casts-with-nested-structs-use-schema-evolution-rules">
+<h3>Map casts with nested Structs use schema-evolution rules<a class="headerlink" href="#map-casts-with-nested-structs-use-schema-evolution-rules" title="Link to this heading">#</a></h3>
+<p>Casts of a <code class="docutils literal notranslate"><span class="pre">Map</span></code> whose key or value recursively contains a <code class="docutils literal notranslate"><span class="pre">Struct</span></code> now adapt
+nested Struct fields by case-sensitive name. Nullable fields added to the target
+Struct are filled with <code class="docutils literal notranslate"><span class="pre">NULL</span></code>, and source-only fields are omitted. Missing
+non-nullable target fields, nullable-to-non-nullable changes, and incompatible
+nested types are rejected.</p>
+<p>Map keys define map identity. During this nested-Struct adaptation, key Struct
+fields cannot be removed and primitive key type changes must preserve every
+source value (for example, <code class="docutils literal notranslate"><span class="pre">Int32</span></code> to <code class="docutils literal notranslate"><span class="pre">Int64</span></code> is allowed, while <code class="docutils literal notranslate"><span class="pre">Int64</span></code> to
+<code class="docutils literal notranslate"><span class="pre">Int32</span></code> is rejected). Sorted Maps also require an unchanged key type and the
+same sorted flag.</p>
+<p><strong>Migration guide:</strong> Schemas that relied on positional Struct-field matching,
+key-field removal, or narrowing Map-key casts must be updated to retain
+case-sensitive field names and key identity. Ordinary Maps without semantic
+Struct children continue to use Arrow’s normal Map cast behavior.</p>
+</section>
 <section id="tableprovider-scan-takes-option-usize-for-the-projection">
 <h3><code class="docutils literal notranslate"><span class="pre">TableProvider::scan</span></code> takes <code class="docutils literal notranslate"><span class="pre">Option&lt;&amp;[usize]&gt;</span></code> for the projection<a class="headerlink" href="#tableprovider-scan-takes-option-usize-for-the-projection" title="Link to this heading">#</a></h3>
 <p><code class="docutils literal notranslate"><span class="pre">TableProvider::scan</span></code> and the related APIs listed below previously took the
@@ -1773,6 +1790,7 @@ use <code class="docutils literal notranslate"><span class="pre">UNBOUNDED</span
   <nav id="pst-page-toc-nav" class="page-toc" aria-labelledby="pst-page-navigation-heading-2">
     <ul class="pst-show_toc_level nav section-nav flex-column">
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#datafusion-55-0-0">DataFusion 55.0.0</a><ul class="nav section-nav flex-column">
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#map-casts-with-nested-structs-use-schema-evolution-rules">Map casts with nested Structs use schema-evolution rules</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tableprovider-scan-takes-option-usize-for-the-projection"><code class="docutils literal notranslate"><span class="pre">TableProvider::scan</span></code> takes <code class="docutils literal notranslate"><span class="pre">Option&lt;&amp;[usize]&gt;</span></code> for the projection</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#dataframe-fill-null-now-borrows-its-arguments"><code class="docutils literal notranslate"><span class="pre">DataFrame::fill_null</span></code> now borrows its arguments</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#filescanconfig-partitioned-by-file-group-removed"><code class="docutils literal notranslate"><span class="pre">FileScanConfig::partitioned_by_file_group</span></code> removed</a></li>
diff --git a/searchindex.js b/searchindex.js
index 8cc6967fcc..49c24720d4 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[76,"op-neq"]],"!~":[[76,"op-re-not-match"]],"!~*":[[76,"op-re-not-match-i"]],"!~~":[[76,"id19"]],"!~~*":[[76,"id20"]],"#":[[76,"op-bit-xor"]],"%":[[76,"op-modulo"]],"&":[[76,"op-bit-and"]],"(relation, name) tuples in logical fields and logical columns are unique":[[16,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[76,"op-multiply"]],"+":[[76,"op-plus"]],"-":[[76,"op-minus"]],"/":[[76,"op-divide"]],"1. Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[76,"op-neq"]],"!~":[[76,"op-re-not-match"]],"!~*":[[76,"op-re-not-match-i"]],"!~~":[[76,"id19"]],"!~~*":[[76,"id20"]],"#":[[76,"op-bit-xor"]],"%":[[76,"op-modulo"]],"&":[[76,"op-bit-and"]],"(relation, name) tuples in logical fields and logical columns are unique":[[16,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[76,"op-multiply"]],"+":[[76,"op-plus"]],"-":[[76,"op-minus"]],"/":[[76,"op-divide"]],"1. Array Literal Con [...]
\ No newline at end of file


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