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/arrow-rs.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new f0d4f74ee97 deploy: 8752e01be642bce205984e16b44e06078413dc68
f0d4f74ee97 is described below

commit f0d4f74ee97d24719c6b5856f139ac5819b1ea01
Author: alamb <[email protected]>
AuthorDate: Thu Jun 13 14:06:32 2024 +0000

    deploy: 8752e01be642bce205984e16b44e06078413dc68
---
 arrow_cast/all.html                                |   2 +-
 .../dictionary/fn.binary_view_to_dictionary.html   |   4 +
 .../cast/dictionary/fn.cast_to_dictionary.html     |   2 +-
 .../dictionary/fn.pack_byte_to_dictionary.html     |   2 +-
 .../dictionary/fn.pack_numeric_to_dictionary.html  |   2 +-
 .../dictionary/fn.string_view_to_dictionary.html   |   4 +
 arrow_cast/cast/dictionary/index.html              |   4 +-
 arrow_cast/cast/dictionary/sidebar-items.js        |   2 +-
 arrow_cast/cast/index.html                         |   2 +-
 search-index.js                                    |   2 +-
 src/arrow_cast/cast/dictionary.rs.html             | 160 ++++++++++++++++++++-
 src/arrow_cast/cast/mod.rs.html                    |  48 +++++--
 12 files changed, 209 insertions(+), 25 deletions(-)

diff --git a/arrow_cast/all.html b/arrow_cast/all.html
index 8f00a0ef2fb..20f0b33a742 100644
--- a/arrow_cast/all.html
+++ b/arrow_cast/all.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="List of 
all items in this crate"><title>List of all items in this 
crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d
 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="List of 
all items in this crate"><title>List of all items in this 
crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d
 [...]
\ No newline at end of file
diff --git a/arrow_cast/cast/dictionary/fn.binary_view_to_dictionary.html 
b/arrow_cast/cast/dictionary/fn.binary_view_to_dictionary.html
new file mode 100644
index 00000000000..2b55f68c80b
--- /dev/null
+++ b/arrow_cast/cast/dictionary/fn.binary_view_to_dictionary.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `binary_view_to_dictionary` fn in crate 
`arrow_cast`."><title>binary_view_to_dictionary in arrow_cast::cast::dictionary 
- 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaaf
 [...]
+    array: &amp;dyn Array,
+) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;ArrayRef, ArrowError&gt;<div 
class="where">where
+    K: 
ArrowDictionaryKeyType,</div></code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/cast/dictionary/fn.cast_to_dictionary.html 
b/arrow_cast/cast/dictionary/fn.cast_to_dictionary.html
index a38ec15bec5..6de3ba543cd 100644
--- a/arrow_cast/cast/dictionary/fn.cast_to_dictionary.html
+++ b/arrow_cast/cast/dictionary/fn.cast_to_dictionary.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Attempts 
to encode an array into an `ArrayDictionary` with index type K and value 
(dictionary) type value_type"><title>cast_to_dictionary in 
arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Attempts 
to encode an array into an `ArrayDictionary` with index type K and value 
(dictionary) type value_type"><title>cast_to_dictionary in 
arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4
 [...]
     array: &amp;dyn Array,
     dict_value_type: &amp;DataType,
     cast_options: &amp;<a class="struct" href="../struct.CastOptions.html" 
title="struct arrow_cast::cast::CastOptions">CastOptions</a>&lt;'_&gt;,
diff --git a/arrow_cast/cast/dictionary/fn.pack_byte_to_dictionary.html 
b/arrow_cast/cast/dictionary/fn.pack_byte_to_dictionary.html
index 54ef0e17f6c..1c48828478e 100644
--- a/arrow_cast/cast/dictionary/fn.pack_byte_to_dictionary.html
+++ b/arrow_cast/cast/dictionary/fn.pack_byte_to_dictionary.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `pack_byte_to_dictionary` fn in crate 
`arrow_cast`."><title>pack_byte_to_dictionary in arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac52
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `pack_byte_to_dictionary` fn in crate 
`arrow_cast`."><title>pack_byte_to_dictionary in arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac52
 [...]
     array: &amp;dyn Array,
     cast_options: &amp;<a class="struct" href="../struct.CastOptions.html" 
title="struct arrow_cast::cast::CastOptions">CastOptions</a>&lt;'_&gt;,
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;ArrayRef, ArrowError&gt;<div 
class="where">where
diff --git a/arrow_cast/cast/dictionary/fn.pack_numeric_to_dictionary.html 
b/arrow_cast/cast/dictionary/fn.pack_numeric_to_dictionary.html
index d0b360a4f9a..c7306ce079a 100644
--- a/arrow_cast/cast/dictionary/fn.pack_numeric_to_dictionary.html
+++ b/arrow_cast/cast/dictionary/fn.pack_numeric_to_dictionary.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `pack_numeric_to_dictionary` fn in crate 
`arrow_cast`."><title>pack_numeric_to_dictionary in 
arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efa
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `pack_numeric_to_dictionary` fn in crate 
`arrow_cast`."><title>pack_numeric_to_dictionary in 
arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efa
 [...]
     array: &amp;dyn Array,
     dict_value_type: &amp;DataType,
     cast_options: &amp;<a class="struct" href="../struct.CastOptions.html" 
title="struct arrow_cast::cast::CastOptions">CastOptions</a>&lt;'_&gt;,
diff --git a/arrow_cast/cast/dictionary/fn.string_view_to_dictionary.html 
b/arrow_cast/cast/dictionary/fn.string_view_to_dictionary.html
new file mode 100644
index 00000000000..f1ea8890704
--- /dev/null
+++ b/arrow_cast/cast/dictionary/fn.string_view_to_dictionary.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `string_view_to_dictionary` fn in crate 
`arrow_cast`."><title>string_view_to_dictionary in arrow_cast::cast::dictionary 
- 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaaf
 [...]
+    array: &amp;dyn Array,
+) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;ArrayRef, ArrowError&gt;<div 
class="where">where
+    K: 
ArrowDictionaryKeyType,</div></code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/cast/dictionary/index.html 
b/arrow_cast/cast/dictionary/index.html
index 3feb6cb5177..28d308624c4 100644
--- a/arrow_cast/cast/dictionary/index.html
+++ b/arrow_cast/cast/dictionary/index.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `dictionary` mod in crate 
`arrow_cast`."><title>arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `dictionary` mod in crate 
`arrow_cast`."><title>arrow_cast::cast::dictionary - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf
 [...]
 type K and value (dictionary) type value_type</div></li><li><div 
class="item-name"><a class="fn" href="fn.dictionary_cast.html" title="fn 
arrow_cast::cast::dictionary::dictionary_cast">dictionary_cast</a><span 
title="Restricted Visibility">&nbsp;🔒</span> </div><div class="desc 
docblock-short">Attempts to cast an <code>ArrayDictionary</code> with index 
type K into
-<code>to_type</code> for supported types.</div></li><li><div 
class="item-name"><a class="fn" href="fn.pack_byte_to_dictionary.html" 
title="fn 
arrow_cast::cast::dictionary::pack_byte_to_dictionary">pack_byte_to_dictionary</a><span
 title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div 
class="item-name"><a class="fn" href="fn.pack_numeric_to_dictionary.html" 
title="fn 
arrow_cast::cast::dictionary::pack_numeric_to_dictionary">pack_numeric_to_dictionary</a><span
 title="Restricted V [...]
\ No newline at end of file
+<code>to_type</code> for supported types.</div></li><li><div 
class="item-name"><a class="fn" href="fn.pack_byte_to_dictionary.html" 
title="fn 
arrow_cast::cast::dictionary::pack_byte_to_dictionary">pack_byte_to_dictionary</a><span
 title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div 
class="item-name"><a class="fn" href="fn.pack_numeric_to_dictionary.html" 
title="fn 
arrow_cast::cast::dictionary::pack_numeric_to_dictionary">pack_numeric_to_dictionary</a><span
 title="Restricted V [...]
\ No newline at end of file
diff --git a/arrow_cast/cast/dictionary/sidebar-items.js 
b/arrow_cast/cast/dictionary/sidebar-items.js
index f3e49015ba6..397847f242e 100644
--- a/arrow_cast/cast/dictionary/sidebar-items.js
+++ b/arrow_cast/cast/dictionary/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = 
{"fn":["cast_to_dictionary","dictionary_cast","pack_byte_to_dictionary","pack_numeric_to_dictionary","unpack_dictionary","view_from_dict_values"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = 
{"fn":["binary_view_to_dictionary","cast_to_dictionary","dictionary_cast","pack_byte_to_dictionary","pack_numeric_to_dictionary","string_view_to_dictionary","unpack_dictionary","view_from_dict_values"]};
\ No newline at end of file
diff --git a/arrow_cast/cast/index.html b/arrow_cast/cast/index.html
index e986d64ec5e..dbe03b6ca79 100644
--- a/arrow_cast/cast/index.html
+++ b/arrow_cast/cast/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Cast 
kernels to convert `ArrayRef`  between supported 
datatypes."><title>arrow_cast::cast - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Cast 
kernels to convert `ArrayRef`  between supported 
datatypes."><title>arrow_cast::cast - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira
 [...]
 <p>See <a href="fn.cast_with_options.html" title="fn 
arrow_cast::cast::cast_with_options"><code>cast_with_options</code></a> for 
more information on specific conversions.</p>
 <p>Example:</p>
 
diff --git a/search-index.js b/search-index.js
index 5616bf01a81..d55810e6c04 100644
--- a/search-index.js
+++ b/search-index.js
@@ -4,7 +4,7 @@ var searchIndex = new Map(JSON.parse('[\
 
["arrow_array",{"t":"KKKTTTFFFKKFTMMCCCCMOMCMMQQQQQQQQCCMOOMMCOMMMMMMCMMCOOCCMOMMCCCCMKTTTTMMMMMMNNNNNNNNNNMMMMMQQMMMMMMKKKIEIIFIIIIFIIIIFFIIIIFFFITIIIIIIIIIIIIIIRIIIIFFFKTFFIIFIIIIIIIIFFIIIIIIIIFMNNNNNNNNNNNNNNNNNNNNNNNCCOOOCCMNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCONNOOCCNNMNMNHMNMNNNNNOOOOOOOOONNMOOOOOOOOOMNOOOOCNNHCOHHMCNNMNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMNOOOOCHCOOOOOMNCCMNOCMOOOOOOOOOOOOOOOOOOOOOMMOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
 [...]
 
["arrow_avro",{"t":"CCCCFFPPGPPPPPPPPPPPGFPPPPPPNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNHOOOONNNNNNNNNNNNNNNNNNNNNNSGPPPNNNNNNNNNNNNNCCHHCFFGPPPPPNNNNNNOOONNNNNNNNNNONNNOONNNNNNNNNOPPPFFGPPSPPPPNNNNNNONNNNNNNNNNNNNNNNOOOONONOONNNNNNNONNNOFNNNNNONNONNNFPFPPPGPFPFFPPPPFPPPGFPPSGPFPGPPOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNOOONNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNO","n":["
 [...]
 
["arrow_buffer",{"t":"KFFKCCMCCCCCCCCOOMOFCOOOOCMMMMMCSKPGPCNNNNNNNNSQGPPTTTTFTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNONNNNNHNHNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFHHHNNNNHHHHNHHHNHHNNNFFFIOOOOOOOOOOOOOFFFOOOOOOOOOOHHHHHHHHHHHFFFFFFFHHHCOOOHHHHHOOCOOOOOCCOCOOCOOCOCFNNNNNNONNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNFNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNFFNNNNNNNNNNNHONNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNNNNNNNNNNNNNNNNNNNNNNFNNNONNNNNNNNNNNNNNNNNNNN
 [...]
-["arrow_cast",{"t":"CCCCCSSSSRRKHHMNNNNNNNFHHHNNHHHHHHHHHHHHHHHHHHNNCNCNNNNONNNCHHHOCHHNNNHNKHHHHHHHHHHMHHMMHHHHHHHHHHHHHHHHHHHHHHHFFPKKGPIPGFIPPPPPRIFOHHNNNNNNNNNNNNNNNNHOOQNQQONNNNNNNNNOONNNNNNNNNNONNNNNNHHNOOMQQOOOQOQOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNHHPPPSSPSFFFGPPPPISSSSPKPFPPNNNNNNNNNNNNNNNNONOONNNNONNNNNNNONNNNNHOOONNNMNHHHNHHHHHQHHHHNNNNNNHNNNNNNNNNNNNNNNNHHHHHHHH","n":["base64","cast","display","parse","pretty","BASE64_STANDARD","BASE64_STANDARD_NO_PAD","BASE64_URL_SAFE","BA
 [...]
+["arrow_cast",{"t":"CCCCCSSSSRRKHHMNNNNNNNFHHHNNHHHHHHHHHHHHHHHHHHNNCNCNNNNONNNCHHHOCHHNNNHNKHHHHHHHHHHMHHMMHHHHHHHHHHHHHHHHHHHHHHHHHFFPKKGPIPGFIPPPPPRIFOHHNNNNNNNNNNNNNNNNHOOQNQQONNNNNNNNNOONNNNNNNNNNONNNNNNHHNOOMQQOOOQOQOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNHHPPPSSPSFFFGPPPPISSSSPKPFPPNNNNNNNNNNNNNNNNONOONNNNONNNNNNNONNNNNHOOONNNMNHHHNHHHHHQHHHHNNNNNNHNNNNNNNNNNNNNNNNHHHHHHHH","n":["base64","cast","display","parse","pretty","BASE64_STANDARD","BASE64_STANDARD_NO_PAD","BASE64_URL_SAFE","
 [...]
 
["arrow_csv",{"t":"EEEEEHCCIFFFFPFFIFPOOONNNNNNNNNNNNNNONHNHNNHNHHNNNNNNNONOONNNONOONNNNNNONNNNNNNNOHHNHNNNNNNNNNONNOOOHHOOONOOOCNNNOOONNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSFFFNNNNNNNNNOOOOONONNNNNNNNNNNNNNNNONOOOOOOOONONNNNNNNNNSFFONNNNNNNNNOONOONNONONONNNNOONNNNNNNOONONOONOOOONNNNNNNNNNNNNNNNNNNNO","n":["Reader","ReaderBuilder","Writer","WriterBuilder","infer_schema_from_files","map_csv_error","reader","writer","Bounds","BufReader","Decoder","Format","InferredDataType","None
 [...]
 
["arrow_data",{"t":"PFFIPGFFPPCCOOOOCOOOCOOCCCHOOOOOOOOOOOCHHOOOFFFNNNNNNOOOOOOONNNNNNNNNNNOOONNNNNNNHNNNNNNNNNHFNNNONNNNNNNOOONNNNHHHPFFIPGFPPNNNNNNNNNNNNNNNOOONNNNNONNNNOONNHHNNOONNNNNNNNNNNNNNNNNNNNNNNNNHNNOONNHNNNNNNNNNONNONNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOSSSSSSSSSHHCCCHHHCCCCCCCCCCHHHHHHHHSHHHHHHHHHHHHHFFHNNNNNOOONOONOONNNNNNNNNNNOOONNONNNOOOHNNNNNNPPGPIIIPFPFOCNNNNNNOOHHHHHONNOOONONOOCCNNNNNNNNNNNNNOCNCNONOHCCNNNNNNNNNNCCCONHHHHHHHHHHHHHHHHHHHHHHHHH","n":["AlwaysNull","Arr
 [...]
 
["arrow_file_to_stream",{"t":"FNNNNNNONNNNNNHNNNNNN","n":["Args","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","file_name","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip"],"q":[[0,"arrow_file_to_stream"],[21,"clap_builder::builder::command"],[22,"core::fmt"],[23,"clap_builder::parser::matches::arg_matches"],[24,"cla
 [...]
diff --git a/src/arrow_cast/cast/dictionary.rs.html 
b/src/arrow_cast/cast/dictionary.rs.html
index cf914ec0eb0..bbd6f5958e1 100644
--- a/src/arrow_cast/cast/dictionary.rs.html
+++ b/src/arrow_cast/cast/dictionary.rs.html
@@ -253,6 +253,82 @@
 <a href="#253" id="253">253</a>
 <a href="#254" id="254">254</a>
 <a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<a href="#264" id="264">264</a>
+<a href="#265" id="265">265</a>
+<a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</a>
+<a href="#271" id="271">271</a>
+<a href="#272" id="272">272</a>
+<a href="#273" id="273">273</a>
+<a href="#274" id="274">274</a>
+<a href="#275" id="275">275</a>
+<a href="#276" id="276">276</a>
+<a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a>
+<a href="#293" id="293">293</a>
+<a href="#294" id="294">294</a>
+<a href="#295" id="295">295</a>
+<a href="#296" id="296">296</a>
+<a href="#297" id="297">297</a>
+<a href="#298" id="298">298</a>
+<a href="#299" id="299">299</a>
+<a href="#300" id="300">300</a>
+<a href="#301" id="301">301</a>
+<a href="#302" id="302">302</a>
+<a href="#303" id="303">303</a>
+<a href="#304" id="304">304</a>
+<a href="#305" id="305">305</a>
+<a href="#306" id="306">306</a>
+<a href="#307" id="307">307</a>
+<a href="#308" id="308">308</a>
+<a href="#309" id="309">309</a>
+<a href="#310" id="310">310</a>
+<a href="#311" id="311">311</a>
+<a href="#312" id="312">312</a>
+<a href="#313" id="313">313</a>
+<a href="#314" id="314">314</a>
+<a href="#315" id="315">315</a>
+<a href="#316" id="316">316</a>
+<a href="#317" id="317">317</a>
+<a href="#318" id="318">318</a>
+<a href="#319" id="319">319</a>
+<a href="#320" id="320">320</a>
+<a href="#321" id="321">321</a>
+<a href="#322" id="322">322</a>
+<a href="#323" id="323">323</a>
+<a href="#324" id="324">324</a>
+<a href="#325" id="325">325</a>
+<a href="#326" id="326">326</a>
+<a href="#327" id="327">327</a>
+<a href="#328" id="328">328</a>
+<a href="#329" id="329">329</a>
+<a href="#330" id="330">330</a>
+<a href="#331" id="331">331</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the 
Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -443,10 +519,34 @@
         Decimal256(<span class="kw">_</span>, <span class="kw">_</span>) =&gt; 
{
             pack_numeric_to_dictionary::&lt;K, Decimal256Type&gt;(array, 
dict_value_type, cast_options)
         }
-        Utf8 =&gt; pack_byte_to_dictionary::&lt;K, 
GenericStringType&lt;i32&gt;&gt;(array, cast_options),
-        LargeUtf8 =&gt; pack_byte_to_dictionary::&lt;K, 
GenericStringType&lt;i64&gt;&gt;(array, cast_options),
-        Binary =&gt; pack_byte_to_dictionary::&lt;K, 
GenericBinaryType&lt;i32&gt;&gt;(array, cast_options),
-        LargeBinary =&gt; pack_byte_to_dictionary::&lt;K, 
GenericBinaryType&lt;i64&gt;&gt;(array, cast_options),
+        Utf8 =&gt; {
+            <span class="comment">// If the input is a view type, we can avoid 
casting (thus copying) the data
+            </span><span class="kw">if </span>array.data_type() == <span 
class="kw-2">&amp;</span>DataType::Utf8View {
+                <span class="kw">return 
</span>string_view_to_dictionary::&lt;K, i32&gt;(array);
+            }
+            pack_byte_to_dictionary::&lt;K, 
GenericStringType&lt;i32&gt;&gt;(array, cast_options)
+        }
+        LargeUtf8 =&gt; {
+            <span class="comment">// If the input is a view type, we can avoid 
casting (thus copying) the data
+            </span><span class="kw">if </span>array.data_type() == <span 
class="kw-2">&amp;</span>DataType::Utf8View {
+                <span class="kw">return 
</span>string_view_to_dictionary::&lt;K, i64&gt;(array);
+            }
+            pack_byte_to_dictionary::&lt;K, 
GenericStringType&lt;i64&gt;&gt;(array, cast_options)
+        }
+        Binary =&gt; {
+            <span class="comment">// If the input is a view type, we can avoid 
casting (thus copying) the data
+            </span><span class="kw">if </span>array.data_type() == <span 
class="kw-2">&amp;</span>DataType::BinaryView {
+                <span class="kw">return 
</span>binary_view_to_dictionary::&lt;K, i32&gt;(array);
+            }
+            pack_byte_to_dictionary::&lt;K, 
GenericBinaryType&lt;i32&gt;&gt;(array, cast_options)
+        }
+        LargeBinary =&gt; {
+            <span class="comment">// If the input is a view type, we can avoid 
casting (thus copying) the data
+            </span><span class="kw">if </span>array.data_type() == <span 
class="kw-2">&amp;</span>DataType::BinaryView {
+                <span class="kw">return 
</span>binary_view_to_dictionary::&lt;K, i64&gt;(array);
+            }
+            pack_byte_to_dictionary::&lt;K, 
GenericBinaryType&lt;i64&gt;&gt;(array, cast_options)
+        }
         <span class="kw">_ </span>=&gt; <span 
class="prelude-val">Err</span>(ArrowError::CastError(<span 
class="macro">format!</span>(
             <span class="string">"Unsupported output type for dictionary 
packing: {dict_value_type:?}"
         </span>))),
@@ -481,6 +581,58 @@
     <span class="prelude-val">Ok</span>(Arc::new(b.finish()))
 }
 
+<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn 
</span>string_view_to_dictionary&lt;K, O: OffsetSizeTrait&gt;(
+    array: <span class="kw-2">&amp;</span><span class="kw">dyn </span>Array,
+) -&gt; <span class="prelude-ty">Result</span>&lt;ArrayRef, ArrowError&gt;
+<span class="kw">where
+    </span>K: ArrowDictionaryKeyType,
+{
+    <span class="kw">let </span><span class="kw-2">mut </span>b = 
GenericByteDictionaryBuilder::&lt;K, 
GenericStringType&lt;O&gt;&gt;::with_capacity(
+        array.len(),
+        <span class="number">1024</span>,
+        <span class="number">1024</span>,
+    );
+    <span class="kw">let </span>string_view = 
array.as_any().downcast_ref::&lt;StringViewArray&gt;().unwrap();
+    <span class="kw">for </span>v <span class="kw">in 
</span>string_view.iter() {
+        <span class="kw">match </span>v {
+            <span class="prelude-val">Some</span>(v) =&gt; {
+                b.append(v)<span class="question-mark">?</span>;
+            }
+            <span class="prelude-val">None </span>=&gt; {
+                b.append_null();
+            }
+        }
+    }
+
+    <span class="prelude-val">Ok</span>(Arc::new(b.finish()))
+}
+
+<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn 
</span>binary_view_to_dictionary&lt;K, O: OffsetSizeTrait&gt;(
+    array: <span class="kw-2">&amp;</span><span class="kw">dyn </span>Array,
+) -&gt; <span class="prelude-ty">Result</span>&lt;ArrayRef, ArrowError&gt;
+<span class="kw">where
+    </span>K: ArrowDictionaryKeyType,
+{
+    <span class="kw">let </span><span class="kw-2">mut </span>b = 
GenericByteDictionaryBuilder::&lt;K, 
GenericBinaryType&lt;O&gt;&gt;::with_capacity(
+        array.len(),
+        <span class="number">1024</span>,
+        <span class="number">1024</span>,
+    );
+    <span class="kw">let </span>binary_view = 
array.as_any().downcast_ref::&lt;BinaryViewArray&gt;().unwrap();
+    <span class="kw">for </span>v <span class="kw">in 
</span>binary_view.iter() {
+        <span class="kw">match </span>v {
+            <span class="prelude-val">Some</span>(v) =&gt; {
+                b.append(v)<span class="question-mark">?</span>;
+            }
+            <span class="prelude-val">None </span>=&gt; {
+                b.append_null();
+            }
+        }
+    }
+
+    <span class="prelude-val">Ok</span>(Arc::new(b.finish()))
+}
+
 <span class="comment">// Packs the data as a GenericByteDictionaryBuilder, if 
possible, with the
 // key types of K
 </span><span class="kw">pub</span>(<span class="kw">crate</span>) <span 
class="kw">fn </span>pack_byte_to_dictionary&lt;K, T&gt;(
diff --git a/src/arrow_cast/cast/mod.rs.html b/src/arrow_cast/cast/mod.rs.html
index ba62b30b564..2669b0592f6 100644
--- a/src/arrow_cast/cast/mod.rs.html
+++ b/src/arrow_cast/cast/mod.rs.html
@@ -9116,6 +9116,18 @@
 <a href="#9116" id="9116">9116</a>
 <a href="#9117" id="9117">9117</a>
 <a href="#9118" id="9118">9118</a>
+<a href="#9119" id="9119">9119</a>
+<a href="#9120" id="9120">9120</a>
+<a href="#9121" id="9121">9121</a>
+<a href="#9122" id="9122">9122</a>
+<a href="#9123" id="9123">9123</a>
+<a href="#9124" id="9124">9124</a>
+<a href="#9125" id="9125">9125</a>
+<a href="#9126" id="9126">9126</a>
+<a href="#9127" id="9127">9127</a>
+<a href="#9128" id="9128">9128</a>
+<a href="#9129" id="9129">9129</a>
+<a href="#9130" id="9130">9130</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the 
Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -14323,10 +14335,10 @@
 
     <span class="kw">const </span>VIEW_TEST_DATA: [<span 
class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span>str&gt;; 
<span class="number">5</span>] = [
         <span class="prelude-val">Some</span>(<span 
class="string">"hello"</span>),
-        <span class="prelude-val">Some</span>(<span 
class="string">"world"</span>),
+        <span class="prelude-val">Some</span>(<span 
class="string">"repeated"</span>),
         <span class="prelude-val">None</span>,
         <span class="prelude-val">Some</span>(<span class="string">"large 
payload over 12 bytes"</span>),
-        <span class="prelude-val">Some</span>(<span 
class="string">"lulu"</span>),
+        <span class="prelude-val">Some</span>(<span 
class="string">"repeated"</span>),
     ];
 
     <span class="kw">fn </span>_test_string_to_view&lt;O&gt;()
@@ -14409,6 +14421,26 @@
         <span class="macro">assert_eq!</span>(casted_binary_array.as_ref(), 
<span class="kw-2">&amp;</span>binary_view_array);
     }
 
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_view_to_dict() {
+        <span class="kw">let </span>string_view_array = 
StringViewArray::from_iter(VIEW_TEST_DATA);
+        <span class="kw">let </span>string_dict_array: 
DictionaryArray&lt;Int8Type&gt; = VIEW_TEST_DATA.into_iter().collect();
+        <span class="kw">let </span>casted_type = 
string_dict_array.data_type();
+        <span class="kw">let </span>casted_dict_array = cast(<span 
class="kw-2">&amp;</span>string_view_array, casted_type).unwrap();
+        <span class="macro">assert_eq!</span>(casted_dict_array.data_type(), 
casted_type);
+        <span class="macro">assert_eq!</span>(casted_dict_array.as_ref(), 
<span class="kw-2">&amp;</span>string_dict_array);
+
+        <span class="kw">let </span>binary_view_array = 
BinaryViewArray::from_iter(VIEW_TEST_DATA);
+        <span class="kw">let </span>binary_dict_array = 
string_dict_array.downcast_dict::&lt;StringArray&gt;().unwrap();
+        <span class="kw">let </span>binary_buffer = cast(<span 
class="kw-2">&amp;</span>binary_dict_array.values(), <span 
class="kw-2">&amp;</span>DataType::Binary).unwrap();
+        <span class="kw">let </span>binary_dict_array =
+            
DictionaryArray::&lt;Int8Type&gt;::new(binary_dict_array.keys().clone(), 
binary_buffer);
+        <span class="kw">let </span>casted_type = 
binary_dict_array.data_type();
+        <span class="kw">let </span>casted_binary_array = cast(<span 
class="kw-2">&amp;</span>binary_view_array, casted_type).unwrap();
+        <span class="macro">assert_eq!</span>(casted_binary_array.data_type(), 
casted_type);
+        <span class="macro">assert_eq!</span>(casted_binary_array.as_ref(), 
<span class="kw-2">&amp;</span>binary_dict_array);
+    }
+
     <span class="attr">#[test]
     </span><span class="kw">fn </span>test_view_to_string() {
         _test_view_to_string::&lt;i32&gt;();
@@ -14448,23 +14480,15 @@
     <span class="kw">where
         </span>O: OffsetSizeTrait,
     {
-        <span class="kw">let </span>data: Vec&lt;<span 
class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span>[u8]&gt;&gt; 
= <span class="macro">vec!</span>[
-            <span class="prelude-val">Some</span>(<span 
class="string">b"hello"</span>),
-            <span class="prelude-val">Some</span>(<span 
class="string">b"world"</span>),
-            <span class="prelude-val">None</span>,
-            <span class="prelude-val">Some</span>(<span class="string">b"large 
payload over 12 bytes"</span>),
-            <span class="prelude-val">Some</span>(<span 
class="string">b"lulu"</span>),
-        ];
-
         <span class="kw">let </span>view_array = {
             <span class="kw">let </span><span class="kw-2">mut </span>builder 
= BinaryViewBuilder::new().with_block_size(<span class="number">8</span>); 
<span class="comment">// multiple buffers.
-            </span><span class="kw">for </span>s <span class="kw">in 
</span>data.iter() {
+            </span><span class="kw">for </span>s <span class="kw">in 
</span>VIEW_TEST_DATA.iter() {
                 builder.append_option(<span class="kw-2">*</span>s);
             }
             builder.finish()
         };
 
-        <span class="kw">let </span>expected_binary_array = 
GenericBinaryArray::&lt;O&gt;::from(data);
+        <span class="kw">let </span>expected_binary_array = 
GenericBinaryArray::&lt;O&gt;::from_iter(VIEW_TEST_DATA);
         <span class="kw">let </span>expected_type = 
expected_binary_array.data_type();
 
         <span 
class="macro">assert!</span>(can_cast_types(view_array.data_type(), 
expected_type));

Reply via email to