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 de8af8101e Publish built docs triggered by 
7873e5c24922d27981b06e0dbbb95e78a5e659a1
de8af8101e is described below

commit de8af8101e83b05d2dee5894304c80414da0a959
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Feb 14 14:37:25 2025 +0000

    Publish built docs triggered by 7873e5c24922d27981b06e0dbbb95e78a5e659a1
---
 _sources/user-guide/sql/scalar_functions.md.txt |  34 ++++++++
 searchindex.js                                  |   2 +-
 user-guide/sql/index.html                       |   1 +
 user-guide/sql/scalar_functions.html            | 106 +++++++++++++++++++-----
 4 files changed, 121 insertions(+), 22 deletions(-)

diff --git a/_sources/user-guide/sql/scalar_functions.md.txt 
b/_sources/user-guide/sql/scalar_functions.md.txt
index b14bf5b2cc..25ff296879 100644
--- a/_sources/user-guide/sql/scalar_functions.md.txt
+++ b/_sources/user-guide/sql/scalar_functions.md.txt
@@ -4339,6 +4339,40 @@ sha512(expression)
 +-------------------------------------------+
 ```
 
+## Union Functions
+
+Functions to work with the union data type, also know as tagged unions, 
variant types, enums or sum types. Note: Not related to the SQL UNION operator
+
+- [union_extract](#union_extract)
+
+### `union_extract`
+
+Returns the value of the given field in the union when selected, or NULL 
otherwise.
+
+```
+union_extract(union, field_name)
+```
+
+#### Arguments
+
+- **union**: Union expression to operate on. Can be a constant, column, or 
function, and any combination of operators.
+- **field_name**: String expression to operate on. Must be a constant.
+
+#### Example
+
+```sql
+❯ select union_column, union_extract(union_column, 'a'), 
union_extract(union_column, 'b') from table_with_union;
++--------------+----------------------------------+----------------------------------+
+| union_column | union_extract(union_column, 'a') | 
union_extract(union_column, 'b') |
++--------------+----------------------------------+----------------------------------+
+| {a=1}        | 1                                |                            
      |
+| {b=3.0}      |                                  | 3.0                        
      |
+| {a=4}        | 4                                |                            
      |
+| {b=}         |                                  |                            
      |
+| {a=}         |                                  |                            
      |
++--------------+----------------------------------+----------------------------------+
+```
+
 ## Other Functions
 
 - [arrow_cast](#arrow_cast)
diff --git a/searchindex.js b/searchindex.js
index 417b6d0852..f0e8fb6d6a 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!=": [[50, "op-neq"]], "!~": [[50, 
"op-re-not-match"]], "!~*": [[50, "op-re-not-match-i"]], "!~~": [[50, "id19"]], 
"!~~*": [[50, "id20"]], "#": [[50, "op-bit-xor"]], "%": [[50, "op-modulo"]], 
"&": [[50, "op-bit-and"]], "(relation, name) tuples in logical fields and 
logical columns are unique": [[10, 
"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]], "*": 
[[50, "op-multiply"]], "+": [[50, "op-plus"]], "-": [[50, "op-minus"]], "/": [[ 
[...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!=": [[50, "op-neq"]], "!~": [[50, 
"op-re-not-match"]], "!~*": [[50, "op-re-not-match-i"]], "!~~": [[50, "id19"]], 
"!~~*": [[50, "id20"]], "#": [[50, "op-bit-xor"]], "%": [[50, "op-modulo"]], 
"&": [[50, "op-bit-and"]], "(relation, name) tuples in logical fields and 
logical columns are unique": [[10, 
"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]], "*": 
[[50, "op-multiply"]], "+": [[50, "op-plus"]], "-": [[50, "op-minus"]], "/": [[ 
[...]
\ No newline at end of file
diff --git a/user-guide/sql/index.html b/user-guide/sql/index.html
index 6851d6f554..783a8d92d9 100644
--- a/user-guide/sql/index.html
+++ b/user-guide/sql/index.html
@@ -632,6 +632,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="scalar_functions.html#struct-functions">Struct Functions</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="scalar_functions.html#map-functions">Map Functions</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="scalar_functions.html#hashing-functions">Hashing Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="scalar_functions.html#union-functions">Union Functions</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="scalar_functions.html#other-functions">Other Functions</a></li>
 </ul>
 </li>
diff --git a/user-guide/sql/scalar_functions.html 
b/user-guide/sql/scalar_functions.html
index d08ab2b497..9d1e9c832f 100644
--- a/user-guide/sql/scalar_functions.html
+++ b/user-guide/sql/scalar_functions.html
@@ -4350,6 +4350,34 @@
    </li>
   </ul>
  </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#union-functions">
+   Union Functions
+  </a>
+  <ul class="nav section-nav flex-column">
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#union-extract">
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       union_extract
+      </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="#id301">
+       Arguments
+      </a>
+     </li>
+     <li class="toc-h4 nav-item toc-entry">
+      <a class="reference internal nav-link" href="#id302">
+       Example
+      </a>
+     </li>
+    </ul>
+   </li>
+  </ul>
+ </li>
  <li class="toc-h2 nav-item toc-entry">
   <a class="reference internal nav-link" href="#other-functions">
    Other Functions
@@ -4365,12 +4393,12 @@
     </a>
     <ul class="nav section-nav flex-column">
      <li class="toc-h4 nav-item toc-entry">
-      <a class="reference internal nav-link" href="#id301">
+      <a class="reference internal nav-link" href="#id303">
        Arguments
       </a>
      </li>
      <li class="toc-h4 nav-item toc-entry">
-      <a class="reference internal nav-link" href="#id302">
+      <a class="reference internal nav-link" href="#id304">
        Example
       </a>
      </li>
@@ -4386,12 +4414,12 @@
     </a>
     <ul class="nav section-nav flex-column">
      <li class="toc-h4 nav-item toc-entry">
-      <a class="reference internal nav-link" href="#id303">
+      <a class="reference internal nav-link" href="#id305">
        Arguments
       </a>
      </li>
      <li class="toc-h4 nav-item toc-entry">
-      <a class="reference internal nav-link" href="#id304">
+      <a class="reference internal nav-link" href="#id306">
        Example
       </a>
      </li>
@@ -4407,12 +4435,12 @@
     </a>
     <ul class="nav section-nav flex-column">
      <li class="toc-h4 nav-item toc-entry">
-      <a class="reference internal nav-link" href="#id305">
+      <a class="reference internal nav-link" href="#id307">
        Arguments
       </a>
      </li>
      <li class="toc-h4 nav-item toc-entry">
-      <a class="reference internal nav-link" href="#id306">
+      <a class="reference internal nav-link" href="#id308">
        Example
       </a>
      </li>
@@ -4428,7 +4456,7 @@
     </a>
     <ul class="nav section-nav flex-column">
      <li class="toc-h4 nav-item toc-entry">
-      <a class="reference internal nav-link" href="#id307">
+      <a class="reference internal nav-link" href="#id309">
        Example
       </a>
      </li>
@@ -9053,6 +9081,42 @@ For <code class="docutils literal notranslate"><span 
class="pre">make_map</span>
 </section>
 </section>
 </section>
+<section id="union-functions">
+<h2>Union Functions<a class="headerlink" href="#union-functions" title="Link 
to this heading">¶</a></h2>
+<p>Functions to work with the union data type, also know as tagged unions, 
variant types, enums or sum types. Note: Not related to the SQL UNION 
operator</p>
+<ul class="simple">
+<li><p><a class="reference internal" 
href="#union-extract">union_extract</a></p></li>
+</ul>
+<section id="union-extract">
+<h3><code class="docutils literal notranslate"><span 
class="pre">union_extract</span></code><a class="headerlink" 
href="#union-extract" title="Link to this heading">¶</a></h3>
+<p>Returns the value of the given field in the union when selected, or NULL 
otherwise.</p>
+<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">union_extract</span><span 
class="p">(</span><span class="n">union</span><span class="p">,</span> <span 
class="n">field_name</span><span class="p">)</span>
+</pre></div>
+</div>
+<section id="id301">
+<h4>Arguments<a class="headerlink" href="#id301" title="Link to this 
heading">¶</a></h4>
+<ul class="simple">
+<li><p><strong>union</strong>: Union expression to operate on. Can be a 
constant, column, or function, and any combination of operators.</p></li>
+<li><p><strong>field_name</strong>: String expression to operate on. Must be a 
constant.</p></li>
+</ul>
+</section>
+<section id="id302">
+<h4>Example<a class="headerlink" href="#id302" title="Link to this 
heading">¶</a></h4>
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="err">❯</span><span class="w"> 
</span><span class="k">select</span><span class="w"> </span><span 
class="n">union_column</span><span class="p">,</span><span class="w"> 
</span><span class="n">union_extract</span><span class="p">(</span><span 
class="n">union_column</span><span class="p">,</span><span class="w"> 
</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span 
class="w"> </span [...]
+<span class="o">+</span><span 
class="c1">--------------+----------------------------------+----------------------------------+</span>
+<span class="o">|</span><span class="w"> </span><span 
class="n">union_column</span><span class="w"> </span><span 
class="o">|</span><span class="w"> </span><span 
class="n">union_extract</span><span class="p">(</span><span 
class="n">union_column</span><span class="p">,</span><span class="w"> 
</span><span class="s1">&#39;a&#39;</span><span class="p">)</span><span 
class="w"> </span><span class="o">|</span><span class="w"> </span><span 
class="n">union_extract</span><span class="p">(</span><sp [...]
+<span class="o">+</span><span 
class="c1">--------------+----------------------------------+----------------------------------+</span>
+<span class="o">|</span><span class="w"> </span><span 
class="err">{</span><span class="n">a</span><span class="o">=</span><span 
class="mi">1</span><span class="err">}</span><span class="w">        
</span><span class="o">|</span><span class="w"> </span><span 
class="mi">1</span><span class="w">                                </span><span 
class="o">|</span><span class="w">                                  
</span><span class="o">|</span>
+<span class="o">|</span><span class="w"> </span><span 
class="err">{</span><span class="n">b</span><span class="o">=</span><span 
class="mi">3</span><span class="p">.</span><span class="mi">0</span><span 
class="err">}</span><span class="w">      </span><span class="o">|</span><span 
class="w">                                  </span><span 
class="o">|</span><span class="w"> </span><span class="mi">3</span><span 
class="p">.</span><span class="mi">0</span><span class="w">                     
  [...]
+<span class="o">|</span><span class="w"> </span><span 
class="err">{</span><span class="n">a</span><span class="o">=</span><span 
class="mi">4</span><span class="err">}</span><span class="w">        
</span><span class="o">|</span><span class="w"> </span><span 
class="mi">4</span><span class="w">                                </span><span 
class="o">|</span><span class="w">                                  
</span><span class="o">|</span>
+<span class="o">|</span><span class="w"> </span><span 
class="err">{</span><span class="n">b</span><span class="o">=</span><span 
class="err">}</span><span class="w">         </span><span 
class="o">|</span><span class="w">                                  
</span><span class="o">|</span><span class="w">                                 
 </span><span class="o">|</span>
+<span class="o">|</span><span class="w"> </span><span 
class="err">{</span><span class="n">a</span><span class="o">=</span><span 
class="err">}</span><span class="w">         </span><span 
class="o">|</span><span class="w">                                  
</span><span class="o">|</span><span class="w">                                 
 </span><span class="o">|</span>
+<span class="o">+</span><span 
class="c1">--------------+----------------------------------+----------------------------------+</span>
+</pre></div>
+</div>
+</section>
+</section>
+</section>
 <section id="other-functions">
 <h2>Other Functions<a class="headerlink" href="#other-functions" title="Link 
to this heading">¶</a></h2>
 <ul class="simple">
@@ -9067,15 +9131,15 @@ For <code class="docutils literal notranslate"><span 
class="pre">make_map</span>
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="n">arrow_cast</span><span 
class="p">(</span><span class="n">expression</span><span 
class="p">,</span><span class="w"> </span><span class="n">datatype</span><span 
class="p">)</span>
 </pre></div>
 </div>
-<section id="id301">
-<h4>Arguments<a class="headerlink" href="#id301" title="Link to this 
heading">¶</a></h4>
+<section id="id303">
+<h4>Arguments<a class="headerlink" href="#id303" title="Link to this 
heading">¶</a></h4>
 <ul class="simple">
 <li><p><strong>expression</strong>: Expression to cast. The expression can be 
a constant, column, or function, and any combination of operators.</p></li>
 <li><p><strong>datatype</strong>: <a class="reference external" 
href="https://docs.rs/arrow/latest/arrow/datatypes/enum.DataType.html";>Arrow 
data type</a> name to cast to, as a string. The format is the same as that 
returned by [<code class="docutils literal notranslate"><span 
class="pre">arrow_typeof</span></code>]</p></li>
 </ul>
 </section>
-<section id="id302">
-<h4>Example<a class="headerlink" href="#id302" title="Link to this 
heading">¶</a></h4>
+<section id="id304">
+<h4>Example<a class="headerlink" href="#id304" title="Link to this 
heading">¶</a></h4>
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">select</span><span class="w"> </span><span 
class="n">arrow_cast</span><span class="p">(</span><span 
class="o">-</span><span class="mi">5</span><span class="p">,</span><span 
class="w"> </span><span class="s1">&#39;Int8&#39;</span><span 
class="p">)</span><span class="w"> </span><span class="k">as</span><span 
class="w"> </span><span class="n">a</ [...]
 <span class="w">  </span><span class="n">arrow_cast</span><span 
class="p">(</span><span class="s1">&#39;foo&#39;</span><span 
class="p">,</span><span class="w"> </span><span 
class="s1">&#39;Dictionary(Int32, Utf8)&#39;</span><span 
class="p">)</span><span class="w"> </span><span class="k">as</span><span 
class="w"> </span><span class="n">b</span><span class="p">,</span>
 <span class="w">  </span><span class="n">arrow_cast</span><span 
class="p">(</span><span class="s1">&#39;bar&#39;</span><span 
class="p">,</span><span class="w"> </span><span 
class="s1">&#39;LargeUtf8&#39;</span><span class="p">)</span><span class="w"> 
</span><span class="k">as</span><span class="w"> </span><span 
class="k">c</span><span class="p">,</span>
@@ -9096,14 +9160,14 @@ For <code class="docutils literal notranslate"><span 
class="pre">make_map</span>
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="n">arrow_typeof</span><span 
class="p">(</span><span class="n">expression</span><span class="p">)</span>
 </pre></div>
 </div>
-<section id="id303">
-<h4>Arguments<a class="headerlink" href="#id303" title="Link to this 
heading">¶</a></h4>
+<section id="id305">
+<h4>Arguments<a class="headerlink" href="#id305" title="Link to this 
heading">¶</a></h4>
 <ul class="simple">
 <li><p><strong>expression</strong>: Expression to evaluate. The expression can 
be a constant, column, or function, and any combination of operators.</p></li>
 </ul>
 </section>
-<section id="id304">
-<h4>Example<a class="headerlink" href="#id304" title="Link to this 
heading">¶</a></h4>
+<section id="id306">
+<h4>Example<a class="headerlink" href="#id306" title="Link to this 
heading">¶</a></h4>
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">select</span><span class="w"> </span><span 
class="n">arrow_typeof</span><span class="p">(</span><span 
class="s1">&#39;foo&#39;</span><span class="p">),</span><span class="w"> 
</span><span class="n">arrow_typeof</span><span class="p">(</span><span 
class="mi">1</span><span class="p">);</span>
 <span class="o">+</span><span 
class="c1">---------------------------+------------------------+</span>
 <span class="o">|</span><span class="w"> </span><span 
class="n">arrow_typeof</span><span class="p">(</span><span 
class="n">Utf8</span><span class="p">(</span><span 
class="ss">&quot;foo&quot;</span><span class="p">))</span><span class="w"> 
</span><span class="o">|</span><span class="w"> </span><span 
class="n">arrow_typeof</span><span class="p">(</span><span 
class="n">Int64</span><span class="p">(</span><span class="mi">1</span><span 
class="p">))</span><span class="w"> </span><span class=" [...]
@@ -9123,15 +9187,15 @@ syntax such as <code class="docutils literal 
notranslate"><span class="pre">my_s
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="n">get_field</span><span 
class="p">(</span><span class="n">expression1</span><span 
class="p">,</span><span class="w"> </span><span 
class="n">expression2</span><span class="p">)</span>
 </pre></div>
 </div>
-<section id="id305">
-<h4>Arguments<a class="headerlink" href="#id305" title="Link to this 
heading">¶</a></h4>
+<section id="id307">
+<h4>Arguments<a class="headerlink" href="#id307" title="Link to this 
heading">¶</a></h4>
 <ul class="simple">
 <li><p><strong>expression1</strong>: The map or struct to retrieve a field 
for.</p></li>
 <li><p><strong>expression2</strong>: The field name in the map or struct to 
retrieve data for. Must evaluate to a string.</p></li>
 </ul>
 </section>
-<section id="id306">
-<h4>Example<a class="headerlink" href="#id306" title="Link to this 
heading">¶</a></h4>
+<section id="id308">
+<h4>Example<a class="headerlink" href="#id308" title="Link to this 
heading">¶</a></h4>
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">create</span><span class="w"> </span><span 
class="k">table</span><span class="w"> </span><span class="n">t</span><span 
class="w"> </span><span class="p">(</span><span class="n">idx</span><span 
class="w"> </span><span class="nb">varchar</span><span class="p">,</span><span 
class="w"> </span><span class="n">v</span><span class="w"> </span><span c [...]
 <span class="o">&gt;</span><span class="w"> </span><span 
class="k">select</span><span class="w"> </span><span 
class="n">struct</span><span class="p">(</span><span class="n">idx</span><span 
class="p">,</span><span class="w"> </span><span class="n">v</span><span 
class="p">)</span><span class="w"> </span><span class="k">from</span><span 
class="w"> </span><span class="n">t</span><span class="w"> </span><span 
class="k">as</span><span class="w"> </span><span class="k">c</span><span 
class="p">;</span>
 <span class="o">+</span><span class="c1">-------------------------+</span>
@@ -9164,8 +9228,8 @@ syntax such as <code class="docutils literal 
notranslate"><span class="pre">my_s
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="k">version</span><span 
class="p">()</span>
 </pre></div>
 </div>
-<section id="id307">
-<h4>Example<a class="headerlink" href="#id307" title="Link to this 
heading">¶</a></h4>
+<section id="id309">
+<h4>Example<a class="headerlink" href="#id309" title="Link to this 
heading">¶</a></h4>
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">select</span><span class="w"> </span><span 
class="k">version</span><span class="p">();</span>
 <span class="o">+</span><span 
class="c1">--------------------------------------------+</span>
 <span class="o">|</span><span class="w"> </span><span 
class="k">version</span><span class="p">()</span><span class="w">               
                   </span><span class="o">|</span>


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

Reply via email to