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

github-actions[bot] pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/datafusion-python.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new d14a72a0 Publish built docs triggered by 
d021e6afa8e08bee42fb9673ba811352c464bdf7
d14a72a0 is described below

commit d14a72a0909a43a63d9c85b06f27893f1ca2a1fe
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jun 4 12:48:12 2026 +0000

    Publish built docs triggered by d021e6afa8e08bee42fb9673ba811352c464bdf7
---
 _sources/autoapi/datafusion/context/index.rst.txt |  38 ++++++++++
 autoapi/datafusion/context/index.html             |  81 ++++++++++++++++++++--
 genindex.html                                     |   6 ++
 objects.inv                                       | Bin 10914 -> 10954 bytes
 searchindex.js                                    |   2 +-
 user-guide/common-operations/aggregations.html    |  34 ++++-----
 user-guide/common-operations/basic-info.html      |  46 ++++++------
 user-guide/common-operations/functions.html       |  20 +++---
 user-guide/common-operations/udf-and-udfa.html    |   4 +-
 9 files changed, 173 insertions(+), 58 deletions(-)

diff --git a/_sources/autoapi/datafusion/context/index.rst.txt 
b/_sources/autoapi/datafusion/context/index.rst.txt
index 8e217339..226f88a2 100644
--- a/_sources/autoapi/datafusion/context/index.rst.txt
+++ b/_sources/autoapi/datafusion/context/index.rst.txt
@@ -41,6 +41,7 @@ Classes
 
    datafusion.context.ArrowArrayExportable
    datafusion.context.ArrowStreamExportable
+   datafusion.context.PhysicalOptimizerRuleExportable
    datafusion.context.RuntimeEnvBuilder
    datafusion.context.SQLOptions
    datafusion.context.SessionConfig
@@ -77,6 +78,20 @@ Module Contents
    .. py:method:: __arrow_c_stream__(requested_schema: object | None = None) 
-> object
 
 
+.. py:class:: PhysicalOptimizerRuleExportable
+
+   Bases: :py:obj:`Protocol`
+
+
+   Type hint for object that has __datafusion_physical_optimizer_rule__ 
PyCapsule.
+
+   The method returns a PyCapsule wrapping an ``FFI_PhysicalOptimizerRule``,
+   typically produced by a separate compiled extension.
+
+
+   .. py:method:: __datafusion_physical_optimizer_rule__() -> object
+
+
 .. py:class:: RuntimeEnvBuilder
 
    Runtime configuration options.
@@ -477,6 +492,29 @@ Module Contents
 
 
 
+   .. py:method:: add_physical_optimizer_rule(rule: 
PhysicalOptimizerRuleExportable) -> None
+
+      Append a user-defined physical optimizer rule to the session.
+
+      The rule is imported via its ``__datafusion_physical_optimizer_rule__``
+      PyCapsule, typically produced by a separate compiled extension. The
+      underlying :class:`SessionState` is rebuilt from its current state
+      with the new rule appended, so previously registered tables, UDFs,
+      and catalogs are preserved.
+
+      :param rule: Object exposing ``__datafusion_physical_optimizer_rule__``,
+                   a :class:`PhysicalOptimizerRuleExportable`.
+
+      .. rubric:: Examples
+
+      >>> from datafusion import SessionContext
+      >>> ctx = SessionContext()
+      >>> from my_extension import MyPhysicalOptimizerRule  # doctest: +SKIP
+      >>> rule = MyPhysicalOptimizerRule()  # doctest: +SKIP
+      >>> ctx.add_physical_optimizer_rule(rule)  # doctest: +SKIP
+
+
+
    .. py:method:: catalog(name: str = 'datafusion') -> 
datafusion.catalog.Catalog
 
       Retrieve a catalog by name.
diff --git a/autoapi/datafusion/context/index.html 
b/autoapi/datafusion/context/index.html
index 66504254..c753edc7 100644
--- a/autoapi/datafusion/context/index.html
+++ b/autoapi/datafusion/context/index.html
@@ -482,6 +482,26 @@
      </li>
     </ul>
    </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#datafusion.context.PhysicalOptimizerRuleExportable">
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       PhysicalOptimizerRuleExportable
+      </span>
+     </code>
+    </a>
+    <ul class="nav section-nav flex-column">
+     <li class="toc-h4 nav-item toc-entry">
+      <a class="reference internal nav-link" 
href="#datafusion.context.PhysicalOptimizerRuleExportable.__datafusion_physical_optimizer_rule__">
+       <code class="docutils literal notranslate">
+        <span class="pre">
+         
PhysicalOptimizerRuleExportable.__datafusion_physical_optimizer_rule__()
+        </span>
+       </code>
+      </a>
+     </li>
+    </ul>
+   </li>
    <li class="toc-h3 nav-item toc-entry">
     <a class="reference internal nav-link" 
href="#datafusion.context.RuntimeEnvBuilder">
      <code class="docutils literal notranslate">
@@ -821,6 +841,15 @@
        </code>
       </a>
      </li>
+     <li class="toc-h4 nav-item toc-entry">
+      <a class="reference internal nav-link" 
href="#datafusion.context.SessionContext.add_physical_optimizer_rule">
+       <code class="docutils literal notranslate">
+        <span class="pre">
+         SessionContext.add_physical_optimizer_rule()
+        </span>
+       </code>
+      </a>
+     </li>
      <li class="toc-h4 nav-item toc-entry">
       <a class="reference internal nav-link" 
href="#datafusion.context.SessionContext.catalog">
        <code class="docutils literal notranslate">
@@ -1531,19 +1560,22 @@ execution model.</p>
 <tr class="row-even"><td><p><a class="reference internal" 
href="#datafusion.context.ArrowStreamExportable" 
title="datafusion.context.ArrowStreamExportable"><code class="xref py py-obj 
docutils literal notranslate"><span 
class="pre">ArrowStreamExportable</span></code></a></p></td>
 <td><p>Type hint for object exporting Arrow C Stream via Arrow PyCapsule 
Interface.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" 
href="#datafusion.context.RuntimeEnvBuilder" 
title="datafusion.context.RuntimeEnvBuilder"><code class="xref py py-obj 
docutils literal notranslate"><span 
class="pre">RuntimeEnvBuilder</span></code></a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" 
href="#datafusion.context.PhysicalOptimizerRuleExportable" 
title="datafusion.context.PhysicalOptimizerRuleExportable"><code class="xref py 
py-obj docutils literal notranslate"><span 
class="pre">PhysicalOptimizerRuleExportable</span></code></a></p></td>
+<td><p>Type hint for object that has __datafusion_physical_optimizer_rule__ 
PyCapsule.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" 
href="#datafusion.context.RuntimeEnvBuilder" 
title="datafusion.context.RuntimeEnvBuilder"><code class="xref py py-obj 
docutils literal notranslate"><span 
class="pre">RuntimeEnvBuilder</span></code></a></p></td>
 <td><p>Runtime configuration options.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" 
href="#datafusion.context.SQLOptions" 
title="datafusion.context.SQLOptions"><code class="xref py py-obj docutils 
literal notranslate"><span class="pre">SQLOptions</span></code></a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" 
href="#datafusion.context.SQLOptions" 
title="datafusion.context.SQLOptions"><code class="xref py py-obj docutils 
literal notranslate"><span class="pre">SQLOptions</span></code></a></p></td>
 <td><p>Options to be used when performing SQL queries.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" 
href="#datafusion.context.SessionConfig" 
title="datafusion.context.SessionConfig"><code class="xref py py-obj docutils 
literal notranslate"><span class="pre">SessionConfig</span></code></a></p></td>
+<tr class="row-even"><td><p><a class="reference internal" 
href="#datafusion.context.SessionConfig" 
title="datafusion.context.SessionConfig"><code class="xref py py-obj docutils 
literal notranslate"><span class="pre">SessionConfig</span></code></a></p></td>
 <td><p>Session configuration options.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" 
href="#datafusion.context.SessionContext" 
title="datafusion.context.SessionContext"><code class="xref py py-obj docutils 
literal notranslate"><span class="pre">SessionContext</span></code></a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" 
href="#datafusion.context.SessionContext" 
title="datafusion.context.SessionContext"><code class="xref py py-obj docutils 
literal notranslate"><span class="pre">SessionContext</span></code></a></p></td>
 <td><p>This is the main interface for executing queries and creating 
DataFrames.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" 
href="#datafusion.context.TableProviderExportable" 
title="datafusion.context.TableProviderExportable"><code class="xref py py-obj 
docutils literal notranslate"><span 
class="pre">TableProviderExportable</span></code></a></p></td>
+<tr class="row-even"><td><p><a class="reference internal" 
href="#datafusion.context.TableProviderExportable" 
title="datafusion.context.TableProviderExportable"><code class="xref py py-obj 
docutils literal notranslate"><span 
class="pre">TableProviderExportable</span></code></a></p></td>
 <td><p>Type hint for object that has __datafusion_table_provider__ 
PyCapsule.</p></td>
 </tr>
 </tbody>
@@ -1577,6 +1609,20 @@ execution model.</p>
 
 </dd></dl>
 
+<dl class="py class">
+<dt class="sig sig-object py" 
id="datafusion.context.PhysicalOptimizerRuleExportable">
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-prename descclassname"><span 
class="pre">datafusion.context.</span></span><span class="sig-name 
descname"><span class="pre">PhysicalOptimizerRuleExportable</span></span><a 
class="headerlink" href="#datafusion.context.PhysicalOptimizerRuleExportable" 
title="Link to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span 
class="pre">Protocol</span></code></p>
+<p>Type hint for object that has __datafusion_physical_optimizer_rule__ 
PyCapsule.</p>
+<p>The method returns a PyCapsule wrapping an <code class="docutils literal 
notranslate"><span class="pre">FFI_PhysicalOptimizerRule</span></code>,
+typically produced by a separate compiled extension.</p>
+<dl class="py method">
+<dt class="sig sig-object py" 
id="datafusion.context.PhysicalOptimizerRuleExportable.__datafusion_physical_optimizer_rule__">
+<span class="sig-name descname"><span 
class="pre">__datafusion_physical_optimizer_rule__</span></span><span 
class="sig-paren">(</span><span class="sig-paren">)</span> <span 
class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span 
class="sig-return-typehint"><span class="pre">object</span></span></span><a 
class="headerlink" 
href="#datafusion.context.PhysicalOptimizerRuleExportable.__datafusion_physical_optimizer_rule__"
 title="Link to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
 <dl class="py class">
 <dt class="sig sig-object py" id="datafusion.context.RuntimeEnvBuilder">
 <em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-prename descclassname"><span 
class="pre">datafusion.context.</span></span><span class="sig-name 
descname"><span class="pre">RuntimeEnvBuilder</span></span><a 
class="headerlink" href="#datafusion.context.RuntimeEnvBuilder" title="Link to 
this definition">¶</a></dt>
@@ -2071,6 +2117,31 @@ a query against a CSV data source using the <code 
class="xref py py-class docuti
 <em class="property"><span class="pre">static</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">_convert_table_partition_cols</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">table_partition_cols</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">list</span><span class="p"><span class="pre">[</span></span><span 
class="pre">tuple</span [...]
 <dd></dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" 
id="datafusion.context.SessionContext.add_physical_optimizer_rule">
+<span class="sig-name descname"><span 
class="pre">add_physical_optimizer_rule</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">rule</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><a 
class="reference internal" 
href="#datafusion.context.PhysicalOptimizerRuleExportable" 
title="datafusion.context.PhysicalOptimizerRuleExportable"><span 
class="pre">PhysicalOptimizerRuleExportable</span></ [...]
+<dd><p>Append a user-defined physical optimizer rule to the session.</p>
+<p>The rule is imported via its <code class="docutils literal 
notranslate"><span 
class="pre">__datafusion_physical_optimizer_rule__</span></code>
+PyCapsule, typically produced by a separate compiled extension. The
+underlying <code class="xref py py-class docutils literal notranslate"><span 
class="pre">SessionState</span></code> is rebuilt from its current state
+with the new rule appended, so previously registered tables, UDFs,
+and catalogs are preserved.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>rule</strong> – Object exposing <code 
class="docutils literal notranslate"><span 
class="pre">__datafusion_physical_optimizer_rule__</span></code>,
+a <a class="reference internal" 
href="#datafusion.context.PhysicalOptimizerRuleExportable" 
title="datafusion.context.PhysicalOptimizerRuleExportable"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">PhysicalOptimizerRuleExportable</span></code></a>.</p>
+</dd>
+</dl>
+<p class="rubric">Examples</p>
+<div class="doctest highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span 
class="kn">from</span><span class="w"> </span><span 
class="nn">datafusion</span><span class="w"> </span><span 
class="kn">import</span> <span class="n">SessionContext</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">ctx</span> <span 
class="o">=</span> <span class="n">SessionContext</span><span 
class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span><span 
class="w"> </span><span class="nn">my_extension</span><span class="w"> 
</span><span class="kn">import</span> <span 
class="n">MyPhysicalOptimizerRule</span>  
+<span class="gp">&gt;&gt;&gt; </span><span class="n">rule</span> <span 
class="o">=</span> <span class="n">MyPhysicalOptimizerRule</span><span 
class="p">()</span>  
+<span class="gp">&gt;&gt;&gt; </span><span class="n">ctx</span><span 
class="o">.</span><span class="n">add_physical_optimizer_rule</span><span 
class="p">(</span><span class="n">rule</span><span class="p">)</span>  
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="datafusion.context.SessionContext.catalog">
 <span class="sig-name descname"><span class="pre">catalog</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">name</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">str</span></span><span class="w"> </span><span class="o"><span 
class="pre">=</span></span><span class="w"> </span><span 
class="default_value"><span class="pre">'datafusion'</span></span></em><span 
class="sig- [...]
diff --git a/genindex.html b/genindex.html
index 3627e50f..fde8a673 100644
--- a/genindex.html
+++ b/genindex.html
@@ -539,6 +539,8 @@
         <li><a 
href="autoapi/datafusion/user_defined/index.html#datafusion.user_defined.PhysicalExtensionCodecExportable.__datafusion_physical_extension_codec__">(datafusion.user_defined.PhysicalExtensionCodecExportable
 method)</a>
 </li>
       </ul></li>
+      <li><a 
href="autoapi/datafusion/context/index.html#datafusion.context.PhysicalOptimizerRuleExportable.__datafusion_physical_optimizer_rule__">__datafusion_physical_optimizer_rule__()
 (datafusion.context.PhysicalOptimizerRuleExportable method)</a>
+</li>
       <li><a 
href="autoapi/datafusion/user_defined/index.html#datafusion.user_defined.ScalarUDFExportable.__datafusion_scalar_udf__">__datafusion_scalar_udf__()
 (datafusion.user_defined.ScalarUDFExportable method)</a>
 </li>
       <li><a 
href="autoapi/datafusion/context/index.html#datafusion.context.TableProviderExportable.__datafusion_table_provider__">__datafusion_table_provider__()
 (datafusion.context.TableProviderExportable method)</a>
@@ -987,6 +989,8 @@
         <li><a 
href="autoapi/datafusion/functions/index.html#datafusion.functions.acosh">(in 
module datafusion.functions)</a>
 </li>
       </ul></li>
+      <li><a 
href="autoapi/datafusion/context/index.html#datafusion.context.SessionContext.add_physical_optimizer_rule">add_physical_optimizer_rule()
 (datafusion.context.SessionContext method)</a>
+</li>
       <li><a 
href="autoapi/datafusion/expr/index.html#datafusion.expr.Aggregate">Aggregate 
(in module datafusion.expr)</a>
 </li>
       <li><a 
href="autoapi/datafusion/dataframe/index.html#datafusion.dataframe.DataFrame.aggregate">aggregate()
 (datafusion.dataframe.DataFrame method)</a>
@@ -3118,6 +3122,8 @@
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="autoapi/datafusion/user_defined/index.html#datafusion.user_defined.PhysicalExtensionCodecExportable">PhysicalExtensionCodecExportable
 (class in datafusion.user_defined)</a>
+</li>
+      <li><a 
href="autoapi/datafusion/context/index.html#datafusion.context.PhysicalOptimizerRuleExportable">PhysicalOptimizerRuleExportable
 (class in datafusion.context)</a>
 </li>
       <li><a 
href="autoapi/datafusion/functions/index.html#datafusion.functions.pi">pi() (in 
module datafusion.functions)</a>
 </li>
diff --git a/objects.inv b/objects.inv
index 7c6b2277..0e629ce7 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/searchindex.js b/searchindex.js
index 772fbd4e..f4eaa485 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"API Reference": [[19, null], [37, 
"api-reference"]], "Accessing the Calling Session": [[32, 
"accessing-the-calling-session"]], "Additional Resources": [[39, 
"additional-resources"]], "Aggregate Functions": [[25, "aggregate-functions"], 
[32, "aggregate-functions"], [34, "aggregate-functions"]], "Aggregated vs 
Per-Partition Metrics": [[37, "aggregated-vs-per-partition-metrics"]], 
"Aggregation": [[25, null]], "Alternative Approach": [[20, "alternative-approac 
[...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"API Reference": [[19, null], [37, 
"api-reference"]], "Accessing the Calling Session": [[32, 
"accessing-the-calling-session"]], "Additional Resources": [[39, 
"additional-resources"]], "Aggregate Functions": [[25, "aggregate-functions"], 
[32, "aggregate-functions"], [34, "aggregate-functions"]], "Aggregated vs 
Per-Partition Metrics": [[37, "aggregated-vs-per-partition-metrics"]], 
"Aggregation": [[25, null]], "Alternative Approach": [[20, "alternative-approac 
[...]
\ No newline at end of file
diff --git a/user-guide/common-operations/aggregations.html 
b/user-guide/common-operations/aggregations.html
index 56757b61..f8ba6bfb 100644
--- a/user-guide/common-operations/aggregations.html
+++ b/user-guide/common-operations/aggregations.html
@@ -667,15 +667,15 @@ Pokemon set. Since there will be many entries of <code 
class="docutils literal n
 <span 
class="o">+----------+--------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span> 
  <span class="o">|</span> <span class="n">Type</span> <span 
class="mi">2</span> <span class="n">List</span>                                 
     <span class="o">|</span>
 <span 
class="o">+----------+--------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Water</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Dark</span><span class="p">,</span> <span 
class="n">Fighting</span><span class="p">,</span> <span 
class="n">Ice</span><span class="p">,</span> <span class="n">Flying</span><span 
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span 
class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Rock</span>     <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Water</span><span class="p">,</span> <span 
class="n">Ground</span><span class="p">]</span>                          <span 
class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span 
class="n">Flying</span><span class="p">,</span> <span class="p">,</span> <span 
class="n">Fighting</span><span class="p">,</span> <span 
class="n">Ice</span><span class="p">,</span> <span class="n">Dark</span><span 
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Rock</span>     <span 
class="o">|</span> <span class="p">[</span><span class="n">Water</span><span 
class="p">,</span> <span class="n">Ground</span><span class="p">,</span> <span 
class="n">Flying</span><span class="p">]</span>                          <span 
class="o">|</span>
 <span class="o">|</span> <span class="n">Ghost</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span 
class="p">]</span>                                         <span 
class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span>      <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                        <span class="o">|</span>
-<span class="o">|</span> <span class="n">Dragon</span>   <span 
class="o">|</span> <span class="p">[,</span> <span class="n">Flying</span><span 
class="p">]</span>                                       <span 
class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="p">,</span> <span class="n">Poison</span><span 
class="p">]</span>                              <span class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span>     <span 
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span 
class="p">]</span>                               <span class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="p">,</span> <span class="n">Fairy</span><span 
class="p">]</span>                                <span class="o">|</span>
-<span class="o">|</span> <span class="n">Poison</span>   <span 
class="o">|</span> <span class="p">[,</span> <span class="n">Ground</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                       <span class="o">|</span>
+<span class="o">|</span> <span class="n">Ice</span>      <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>       
                         <span class="o">|</span>
+<span class="o">|</span> <span class="n">Dragon</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="p">]</span>                                     
  <span class="o">|</span>
+<span class="o">|</span> <span class="n">Grass</span>    <span 
class="o">|</span> <span class="p">[,</span> <span class="n">Poison</span><span 
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>       
                       <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span>     <span 
class="o">|</span> <span class="p">[,</span> <span class="n">Flying</span><span 
class="p">,</span> <span class="n">Dragon</span><span class="p">]</span>        
                       <span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span 
class="p">,</span> <span class="p">,</span> <span class="n">Flying</span><span 
class="p">]</span>                                <span class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span>   <span 
class="o">|</span> <span class="p">[,</span> <span class="n">Flying</span><span 
class="p">,</span> <span class="n">Ground</span><span class="p">]</span>        
                       <span class="o">|</span>
 <span class="o">|</span> <span class="n">Fighting</span> <span 
class="o">|</span> <span class="p">[]</span>                                    
           <span class="o">|</span>
 <span 
class="o">+----------+--------------------------------------------------+</span>
 <span class="n">Data</span> <span class="n">truncated</span><span 
class="o">.</span>
@@ -691,15 +691,15 @@ entries entirely removed. The second is we can use the 
<code class="docutils lit
 <span 
class="o">+--------+------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span> 
<span class="o">|</span> <span class="n">Type</span> <span class="mi">2</span> 
<span class="n">List</span>                                    <span 
class="o">|</span>
 <span 
class="o">+--------+------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Water</span>  <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span 
class="n">Fighting</span><span class="p">,</span> <span 
class="n">Ice</span><span class="p">,</span> <span class="n">Dark</span><span 
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span> <span 
class="o">|</span>
-<span class="o">|</span> <span class="n">Rock</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Water</span><span 
class="p">,</span> <span class="n">Ground</span><span class="p">,</span> <span 
class="n">Flying</span><span class="p">]</span>                        <span 
class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span>  <span 
class="o">|</span> <span class="p">[</span><span class="n">Ice</span><span 
class="p">,</span> <span class="n">Fighting</span><span class="p">,</span> 
<span class="n">Poison</span><span class="p">,</span> <span 
class="n">Psychic</span><span class="p">,</span> <span 
class="n">Dark</span><span class="p">,</span> <span 
class="n">Flying</span><span class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Rock</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Water</span><span class="p">,</span> <span 
class="n">Ground</span><span class="p">]</span>                        <span 
class="o">|</span>
 <span class="o">|</span> <span class="n">Ghost</span>  <span 
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span 
class="p">]</span>                                       <span 
class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>       
                       <span class="o">|</span>
+<span class="o">|</span> <span class="n">Ice</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                      <span class="o">|</span>
 <span class="o">|</span> <span class="n">Dragon</span> <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">]</span>                                       <span 
class="o">|</span>
 <span class="o">|</span> <span class="n">Grass</span>  <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Poison</span><span class="p">]</span>        
                      <span class="o">|</span>
 <span class="o">|</span> <span class="n">Fire</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                       <span class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span> <span 
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                        <span class="o">|</span>
-<span class="o">|</span> <span class="n">Poison</span> <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Ground</span><span class="p">]</span>        
                       <span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Fairy</span><span class="p">]</span>         
                       <span class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span 
class="o">|</span> <span class="p">[</span><span class="n">Ground</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                       <span class="o">|</span>
 <span class="o">|</span> <span class="n">Ground</span> <span 
class="o">|</span> <span class="p">[</span><span class="n">Rock</span><span 
class="p">]</span>                                         <span 
class="o">|</span>
 <span 
class="o">+--------+------------------------------------------------+</span>
 <span class="n">Data</span> <span class="n">truncated</span><span 
class="o">.</span>
@@ -710,12 +710,12 @@ entries entirely removed. The second is we can use the 
<code class="docutils lit
 <span 
class="o">+----------+------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span> 
  <span class="o">|</span> <span class="n">Type</span> <span 
class="mi">2</span> <span class="n">List</span>                                 
   <span class="o">|</span>
 <span 
class="o">+----------+------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Water</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Fighting</span><span class="p">,</span> 
<span class="n">Psychic</span><span class="p">,</span> <span 
class="n">Dark</span><span class="p">,</span> <span class="n">Ice</span><span 
class="p">,</span> <span class="n">Poison</span><span class="p">]</span> <span 
class="o">|</span>
-<span class="o">|</span> <span class="n">Rock</span>     <span 
class="o">|</span> <span class="p">[</span><span class="n">Water</span><span 
class="p">,</span> <span class="n">Ground</span><span class="p">,</span> <span 
class="n">Flying</span><span class="p">]</span>                        <span 
class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Fighting</span><span class="p">,</span> 
<span class="n">Poison</span><span class="p">,</span> <span 
class="n">Ice</span><span class="p">,</span> <span class="n">Flying</span><span 
class="p">,</span> <span class="n">Dark</span><span class="p">]</span> <span 
class="o">|</span>
+<span class="o">|</span> <span class="n">Rock</span>     <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Ground</span><span class="p">,</span> <span 
class="n">Water</span><span class="p">]</span>                        <span 
class="o">|</span>
 <span class="o">|</span> <span class="n">Ghost</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span 
class="p">]</span>                                       <span 
class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span>      <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                      <span class="o">|</span>
+<span class="o">|</span> <span class="n">Ice</span>      <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>       
                       <span class="o">|</span>
 <span class="o">|</span> <span class="n">Dragon</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">]</span>                                       <span 
class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span 
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>       
                       <span class="o">|</span>
+<span class="o">|</span> <span class="n">Grass</span>    <span 
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span 
class="p">,</span> <span class="n">Poison</span><span class="p">]</span>        
                      <span class="o">|</span>
 <span class="o">|</span> <span class="n">Fire</span>     <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Dragon</span><span class="p">]</span>        
                       <span class="o">|</span>
 <span class="o">|</span> <span class="n">Normal</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span 
class="p">,</span> <span class="n">Fairy</span><span class="p">]</span>         
                       <span class="o">|</span>
 <span class="o">|</span> <span class="n">Poison</span>   <span 
class="o">|</span> <span class="p">[</span><span class="n">Ground</span><span 
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>        
                       <span class="o">|</span>
diff --git a/user-guide/common-operations/basic-info.html 
b/user-guide/common-operations/basic-info.html
index 1e85b7b0..2039c2df 100644
--- a/user-guide/common-operations/basic-info.html
+++ b/user-guide/common-operations/basic-info.html
@@ -471,11 +471,11 @@
 <span class="o">+-----+---------+--------+--------+</span>
 <span class="o">|</span> <span class="n">nrs</span> <span class="o">|</span> 
<span class="n">names</span>   <span class="o">|</span> <span 
class="n">random</span> <span class="o">|</span> <span class="n">groups</span> 
<span class="o">|</span>
 <span class="o">+-----+---------+--------+--------+</span>
-<span class="o">|</span> <span class="mi">1</span>   <span class="o">|</span> 
<span class="n">python</span>  <span class="o">|</span> <span 
class="mi">62</span>     <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span>   <span class="o">|</span> 
<span class="n">ruby</span>    <span class="o">|</span> <span 
class="mi">526</span>    <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">3</span>   <span class="o">|</span> 
<span class="n">java</span>    <span class="o">|</span> <span 
class="mi">778</span>    <span class="o">|</span> <span class="n">B</span>      
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">4</span>   <span class="o">|</span> 
<span class="n">haskell</span> <span class="o">|</span> <span 
class="mi">677</span>    <span class="o">|</span> <span class="n">C</span>      
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">5</span>   <span class="o">|</span> 
<span class="n">go</span>      <span class="o">|</span> <span 
class="mi">528</span>    <span class="o">|</span> <span class="n">B</span>      
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">1</span>   <span class="o">|</span> 
<span class="n">python</span>  <span class="o">|</span> <span 
class="mi">42</span>     <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">2</span>   <span class="o">|</span> 
<span class="n">ruby</span>    <span class="o">|</span> <span 
class="mi">926</span>    <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">3</span>   <span class="o">|</span> 
<span class="n">java</span>    <span class="o">|</span> <span 
class="mi">830</span>    <span class="o">|</span> <span class="n">B</span>      
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">4</span>   <span class="o">|</span> 
<span class="n">haskell</span> <span class="o">|</span> <span 
class="mi">127</span>    <span class="o">|</span> <span class="n">C</span>      
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">5</span>   <span class="o">|</span> 
<span class="n">go</span>      <span class="o">|</span> <span 
class="mi">103</span>    <span class="o">|</span> <span class="n">B</span>      
<span class="o">|</span>
 <span class="o">+-----+---------+--------+--------+</span>
 </pre></div>
 </div>
@@ -486,8 +486,8 @@
 <span class="o">+-----+--------+--------+--------+</span>
 <span class="o">|</span> <span class="n">nrs</span> <span class="o">|</span> 
<span class="n">names</span>  <span class="o">|</span> <span 
class="n">random</span> <span class="o">|</span> <span class="n">groups</span> 
<span class="o">|</span>
 <span class="o">+-----+--------+--------+--------+</span>
-<span class="o">|</span> <span class="mi">1</span>   <span class="o">|</span> 
<span class="n">python</span> <span class="o">|</span> <span 
class="mi">62</span>     <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span>   <span class="o">|</span> 
<span class="n">ruby</span>   <span class="o">|</span> <span 
class="mi">526</span>    <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">1</span>   <span class="o">|</span> 
<span class="n">python</span> <span class="o">|</span> <span 
class="mi">42</span>     <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">2</span>   <span class="o">|</span> 
<span class="n">ruby</span>   <span class="o">|</span> <span 
class="mi">926</span>    <span class="o">|</span> <span class="n">A</span>      
<span class="o">|</span>
 <span class="o">+-----+--------+--------+--------+</span>
 </pre></div>
 </div>
@@ -505,28 +505,28 @@ passing them to an Arrow table, and then converting them 
to a pandas DataFrame.<
 <div class="highlight-ipython notranslate"><div 
class="highlight"><pre><span></span><span class="n">In</span> <span 
class="p">[</span><span class="mi">8</span><span class="p">]:</span> <span 
class="n">df</span><span class="o">.</span><span 
class="n">to_pandas</span><span class="p">()</span>
 <span class="n">Out</span><span class="p">[</span><span 
class="mi">8</span><span class="p">]:</span> 
    <span class="n">nrs</span>    <span class="n">names</span>  <span 
class="n">random</span> <span class="n">groups</span>
-<span class="mi">0</span>    <span class="mi">1</span>   <span 
class="n">python</span>      <span class="mi">62</span>      <span 
class="n">A</span>
-<span class="mi">1</span>    <span class="mi">2</span>     <span 
class="n">ruby</span>     <span class="mi">526</span>      <span 
class="n">A</span>
-<span class="mi">2</span>    <span class="mi">3</span>     <span 
class="n">java</span>     <span class="mi">778</span>      <span 
class="n">B</span>
-<span class="mi">3</span>    <span class="mi">4</span>  <span 
class="n">haskell</span>     <span class="mi">677</span>      <span 
class="n">C</span>
-<span class="mi">4</span>    <span class="mi">5</span>       <span 
class="n">go</span>     <span class="mi">528</span>      <span 
class="n">B</span>
+<span class="mi">0</span>    <span class="mi">1</span>   <span 
class="n">python</span>      <span class="mi">42</span>      <span 
class="n">A</span>
+<span class="mi">1</span>    <span class="mi">2</span>     <span 
class="n">ruby</span>     <span class="mi">926</span>      <span 
class="n">A</span>
+<span class="mi">2</span>    <span class="mi">3</span>     <span 
class="n">java</span>     <span class="mi">830</span>      <span 
class="n">B</span>
+<span class="mi">3</span>    <span class="mi">4</span>  <span 
class="n">haskell</span>     <span class="mi">127</span>      <span 
class="n">C</span>
+<span class="mi">4</span>    <span class="mi">5</span>       <span 
class="n">go</span>     <span class="mi">103</span>      <span 
class="n">B</span>
 </pre></div>
 </div>
 <p><a class="reference internal" 
href="../../autoapi/datafusion/dataframe/index.html#datafusion.dataframe.DataFrame.describe"
 title="datafusion.dataframe.DataFrame.describe"><code class="xref py py-func 
docutils literal notranslate"><span class="pre">describe()</span></code></a> 
shows a quick statistic summary of your data:</p>
 <div class="highlight-ipython notranslate"><div 
class="highlight"><pre><span></span><span class="n">In</span> <span 
class="p">[</span><span class="mi">9</span><span class="p">]:</span> <span 
class="n">df</span><span class="o">.</span><span class="n">describe</span><span 
class="p">()</span>
 <span class="n">Out</span><span class="p">[</span><span 
class="mi">9</span><span class="p">]:</span> 
 <span class="n">DataFrame</span><span class="p">()</span>
-<span 
class="o">+------------+--------------------+-------+-------------------+--------+</span>
-<span class="o">|</span> <span class="n">describe</span>   <span 
class="o">|</span> <span class="n">nrs</span>                <span 
class="o">|</span> <span class="n">names</span> <span class="o">|</span> <span 
class="n">random</span>            <span class="o">|</span> <span 
class="n">groups</span> <span class="o">|</span>
-<span 
class="o">+------------+--------------------+-------+-------------------+--------+</span>
-<span class="o">|</span> <span class="n">count</span>      <span 
class="o">|</span> <span class="mf">5.0</span>                <span 
class="o">|</span> <span class="mi">5</span>     <span class="o">|</span> <span 
class="mf">5.0</span>               <span class="o">|</span> <span 
class="mi">5</span>      <span class="o">|</span>
-<span class="o">|</span> <span class="n">null_count</span> <span 
class="o">|</span> <span class="mf">0.0</span>                <span 
class="o">|</span> <span class="mi">0</span>     <span class="o">|</span> <span 
class="mf">0.0</span>               <span class="o">|</span> <span 
class="mi">0</span>      <span class="o">|</span>
-<span class="o">|</span> <span class="n">mean</span>       <span 
class="o">|</span> <span class="mf">3.0</span>                <span 
class="o">|</span> <span class="n">null</span>  <span class="o">|</span> <span 
class="mf">514.2</span>             <span class="o">|</span> <span 
class="n">null</span>   <span class="o">|</span>
-<span class="o">|</span> <span class="n">std</span>        <span 
class="o">|</span> <span class="mf">1.5811388300841898</span> <span 
class="o">|</span> <span class="n">null</span>  <span class="o">|</span> <span 
class="mf">274.2757736293893</span> <span class="o">|</span> <span 
class="n">null</span>   <span class="o">|</span>
-<span class="o">|</span> <span class="nb">min</span>        <span 
class="o">|</span> <span class="mf">1.0</span>                <span 
class="o">|</span> <span class="n">go</span>    <span class="o">|</span> <span 
class="mf">62.0</span>              <span class="o">|</span> <span 
class="n">A</span>      <span class="o">|</span>
-<span class="o">|</span> <span class="nb">max</span>        <span 
class="o">|</span> <span class="mf">5.0</span>                <span 
class="o">|</span> <span class="n">ruby</span>  <span class="o">|</span> <span 
class="mf">778.0</span>             <span class="o">|</span> <span 
class="n">C</span>      <span class="o">|</span>
-<span class="o">|</span> <span class="n">median</span>     <span 
class="o">|</span> <span class="mf">3.0</span>                <span 
class="o">|</span> <span class="n">null</span>  <span class="o">|</span> <span 
class="mf">528.0</span>             <span class="o">|</span> <span 
class="n">null</span>   <span class="o">|</span>
-<span 
class="o">+------------+--------------------+-------+-------------------+--------+</span>
+<span 
class="o">+------------+--------------------+-------+------------------+--------+</span>
+<span class="o">|</span> <span class="n">describe</span>   <span 
class="o">|</span> <span class="n">nrs</span>                <span 
class="o">|</span> <span class="n">names</span> <span class="o">|</span> <span 
class="n">random</span>           <span class="o">|</span> <span 
class="n">groups</span> <span class="o">|</span>
+<span 
class="o">+------------+--------------------+-------+------------------+--------+</span>
+<span class="o">|</span> <span class="n">count</span>      <span 
class="o">|</span> <span class="mf">5.0</span>                <span 
class="o">|</span> <span class="mi">5</span>     <span class="o">|</span> <span 
class="mf">5.0</span>              <span class="o">|</span> <span 
class="mi">5</span>      <span class="o">|</span>
+<span class="o">|</span> <span class="n">null_count</span> <span 
class="o">|</span> <span class="mf">0.0</span>                <span 
class="o">|</span> <span class="mi">0</span>     <span class="o">|</span> <span 
class="mf">0.0</span>              <span class="o">|</span> <span 
class="mi">0</span>      <span class="o">|</span>
+<span class="o">|</span> <span class="n">mean</span>       <span 
class="o">|</span> <span class="mf">3.0</span>                <span 
class="o">|</span> <span class="n">null</span>  <span class="o">|</span> <span 
class="mf">405.6</span>            <span class="o">|</span> <span 
class="n">null</span>   <span class="o">|</span>
+<span class="o">|</span> <span class="n">std</span>        <span 
class="o">|</span> <span class="mf">1.5811388300841898</span> <span 
class="o">|</span> <span class="n">null</span>  <span class="o">|</span> <span 
class="mf">433.682256957787</span> <span class="o">|</span> <span 
class="n">null</span>   <span class="o">|</span>
+<span class="o">|</span> <span class="nb">min</span>        <span 
class="o">|</span> <span class="mf">1.0</span>                <span 
class="o">|</span> <span class="n">go</span>    <span class="o">|</span> <span 
class="mf">42.0</span>             <span class="o">|</span> <span 
class="n">A</span>      <span class="o">|</span>
+<span class="o">|</span> <span class="nb">max</span>        <span 
class="o">|</span> <span class="mf">5.0</span>                <span 
class="o">|</span> <span class="n">ruby</span>  <span class="o">|</span> <span 
class="mf">926.0</span>            <span class="o">|</span> <span 
class="n">C</span>      <span class="o">|</span>
+<span class="o">|</span> <span class="n">median</span>     <span 
class="o">|</span> <span class="mf">3.0</span>                <span 
class="o">|</span> <span class="n">null</span>  <span class="o">|</span> <span 
class="mf">127.0</span>            <span class="o">|</span> <span 
class="n">null</span>   <span class="o">|</span>
+<span 
class="o">+------------+--------------------+-------+------------------+--------+</span>
 </pre></div>
 </div>
 </section>
diff --git a/user-guide/common-operations/functions.html 
b/user-guide/common-operations/functions.html
index eb4f1bf1..13f0ac29 100644
--- a/user-guide/common-operations/functions.html
+++ b/user-guide/common-operations/functions.html
@@ -581,16 +581,16 @@ In here we will cover some of the more popular use cases. 
If you want to view al
 <span class="o">+-------------------------------+</span>
 <span class="o">|</span> <span class="n">now</span><span class="p">()</span>   
                      <span class="o">|</span>
 <span class="o">+-------------------------------+</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">05</span><span class="o">-</span><span 
class="mi">29</span><span class="n">T22</span><span class="p">:</span><span 
class="mi">34</span><span class="p">:</span><span 
class="mf">21.184674174</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span 
class="o">-</span><span class="mi">06</span><span class="o">-</span><span 
class="mi">04</span><span class="n">T12</span><span class="p">:</span><span 
class="mi">47</span><span class="p">:</span><span 
class="mf">55.489431747</span> <span class="o">|</span>
 <span class="o">+-------------------------------+</span>
 <span class="n">Data</span> <span class="n">truncated</span><span 
class="o">.</span>
 </pre></div>
diff --git a/user-guide/common-operations/udf-and-udfa.html 
b/user-guide/common-operations/udf-and-udfa.html
index a773be34..705344e5 100644
--- a/user-guide/common-operations/udf-and-udfa.html
+++ b/user-guide/common-operations/udf-and-udfa.html
@@ -661,7 +661,7 @@ over column references and literals, so the optimizer can 
analyze it:</p>
 <span class="n">In</span> <span class="p">[</span><span 
class="mi">29</span><span class="p">]:</span> <span 
class="nb">print</span><span class="p">(</span><span 
class="n">native_filtered</span><span class="o">.</span><span 
class="n">execution_plan</span><span class="p">()</span><span 
class="o">.</span><span class="n">display_indent</span><span 
class="p">())</span>
 <span class="n">FilterExec</span><span class="p">:</span> <span 
class="n">brand</span><span class="o">@</span><span class="mi">1</span> <span 
class="o">=</span> <span class="n">A</span> <span class="n">AND</span> <span 
class="n">qty</span><span class="o">@</span><span class="mi">2</span> <span 
class="o">&gt;=</span> <span class="mi">150</span>
   <span class="n">RepartitionExec</span><span class="p">:</span> <span 
class="n">partitioning</span><span class="o">=</span><span 
class="n">RoundRobinBatch</span><span class="p">(</span><span 
class="mi">4</span><span class="p">),</span> <span 
class="n">input_partitions</span><span class="o">=</span><span 
class="mi">1</span>
-    <span class="n">DataSourceExec</span><span class="p">:</span> <span 
class="n">file_groups</span><span class="o">=</span><span 
class="p">{</span><span class="mi">1</span> <span class="n">group</span><span 
class="p">:</span> <span class="p">[[</span><span class="n">tmp</span><span 
class="o">/</span><span class="n">tmpo700s3kb</span><span 
class="o">/</span><span class="n">items</span><span class="o">.</span><span 
class="n">parquet</span><span class="p">]]},</span> <span class="n">projec [...]
+    <span class="n">DataSourceExec</span><span class="p">:</span> <span 
class="n">file_groups</span><span class="o">=</span><span 
class="p">{</span><span class="mi">1</span> <span class="n">group</span><span 
class="p">:</span> <span class="p">[[</span><span class="n">tmp</span><span 
class="o">/</span><span class="n">tmpupbc1umq</span><span 
class="o">/</span><span class="n">items</span><span class="o">.</span><span 
class="n">parquet</span><span class="p">]]},</span> <span class="n">projec [...]
 </pre></div>
 </div>
 <p>Notice the <code class="docutils literal notranslate"><span 
class="pre">DataSourceExec</span></code> line. It carries three annotations the
@@ -694,7 +694,7 @@ bloom filter or dictionary is available to skip 
pages.</p></li>
 <span class="n">In</span> <span class="p">[</span><span 
class="mi">33</span><span class="p">]:</span> <span 
class="nb">print</span><span class="p">(</span><span 
class="n">udf_filtered</span><span class="o">.</span><span 
class="n">execution_plan</span><span class="p">()</span><span 
class="o">.</span><span class="n">display_indent</span><span 
class="p">())</span>
 <span class="n">FilterExec</span><span class="p">:</span> <span 
class="n">brand_qty_filter</span><span class="p">(</span><span 
class="n">CAST</span><span class="p">(</span><span class="n">brand</span><span 
class="o">@</span><span class="mi">1</span> <span class="n">AS</span> <span 
class="n">Utf8</span><span class="p">),</span> <span class="n">qty</span><span 
class="o">@</span><span class="mi">2</span><span class="p">)</span>
   <span class="n">RepartitionExec</span><span class="p">:</span> <span 
class="n">partitioning</span><span class="o">=</span><span 
class="n">RoundRobinBatch</span><span class="p">(</span><span 
class="mi">4</span><span class="p">),</span> <span 
class="n">input_partitions</span><span class="o">=</span><span 
class="mi">1</span>
-    <span class="n">DataSourceExec</span><span class="p">:</span> <span 
class="n">file_groups</span><span class="o">=</span><span 
class="p">{</span><span class="mi">1</span> <span class="n">group</span><span 
class="p">:</span> <span class="p">[[</span><span class="n">tmp</span><span 
class="o">/</span><span class="n">tmpo700s3kb</span><span 
class="o">/</span><span class="n">items</span><span class="o">.</span><span 
class="n">parquet</span><span class="p">]]},</span> <span class="n">projec [...]
+    <span class="n">DataSourceExec</span><span class="p">:</span> <span 
class="n">file_groups</span><span class="o">=</span><span 
class="p">{</span><span class="mi">1</span> <span class="n">group</span><span 
class="p">:</span> <span class="p">[[</span><span class="n">tmp</span><span 
class="o">/</span><span class="n">tmpupbc1umq</span><span 
class="o">/</span><span class="n">items</span><span class="o">.</span><span 
class="n">parquet</span><span class="p">]]},</span> <span class="n">projec [...]
 </pre></div>
 </div>
 <p>The <code class="docutils literal notranslate"><span 
class="pre">DataSourceExec</span></code> now carries only <code class="docutils 
literal notranslate"><span 
class="pre">predicate=brand_qty_filter(...)</span></code>.


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

Reply via email to