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: &dyn Array,
+) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"
title="enum core::result::Result">Result</a><ArrayRef, ArrowError><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: &dyn Array,
dict_value_type: &DataType,
cast_options: &<a class="struct" href="../struct.CastOptions.html"
title="struct arrow_cast::cast::CastOptions">CastOptions</a><'_>,
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: &dyn Array,
cast_options: &<a class="struct" href="../struct.CastOptions.html"
title="struct arrow_cast::cast::CastOptions">CastOptions</a><'_>,
) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"
title="enum core::result::Result">Result</a><ArrayRef, ArrowError><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: &dyn Array,
dict_value_type: &DataType,
cast_options: &<a class="struct" href="../struct.CastOptions.html"
title="struct arrow_cast::cast::CastOptions">CastOptions</a><'_>,
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: &dyn Array,
+) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"
title="enum core::result::Result">Result</a><ArrayRef, ArrowError><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"> 🔒</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"> 🔒</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"> 🔒</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>) =>
{
pack_numeric_to_dictionary::<K, Decimal256Type>(array,
dict_value_type, cast_options)
}
- Utf8 => pack_byte_to_dictionary::<K,
GenericStringType<i32>>(array, cast_options),
- LargeUtf8 => pack_byte_to_dictionary::<K,
GenericStringType<i64>>(array, cast_options),
- Binary => pack_byte_to_dictionary::<K,
GenericBinaryType<i32>>(array, cast_options),
- LargeBinary => pack_byte_to_dictionary::<K,
GenericBinaryType<i64>>(array, cast_options),
+ Utf8 => {
+ <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">&</span>DataType::Utf8View {
+ <span class="kw">return
</span>string_view_to_dictionary::<K, i32>(array);
+ }
+ pack_byte_to_dictionary::<K,
GenericStringType<i32>>(array, cast_options)
+ }
+ LargeUtf8 => {
+ <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">&</span>DataType::Utf8View {
+ <span class="kw">return
</span>string_view_to_dictionary::<K, i64>(array);
+ }
+ pack_byte_to_dictionary::<K,
GenericStringType<i64>>(array, cast_options)
+ }
+ Binary => {
+ <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">&</span>DataType::BinaryView {
+ <span class="kw">return
</span>binary_view_to_dictionary::<K, i32>(array);
+ }
+ pack_byte_to_dictionary::<K,
GenericBinaryType<i32>>(array, cast_options)
+ }
+ LargeBinary => {
+ <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">&</span>DataType::BinaryView {
+ <span class="kw">return
</span>binary_view_to_dictionary::<K, i64>(array);
+ }
+ pack_byte_to_dictionary::<K,
GenericBinaryType<i64>>(array, cast_options)
+ }
<span class="kw">_ </span>=> <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<K, O: OffsetSizeTrait>(
+ array: <span class="kw-2">&</span><span class="kw">dyn </span>Array,
+) -> <span class="prelude-ty">Result</span><ArrayRef, ArrowError>
+<span class="kw">where
+ </span>K: ArrowDictionaryKeyType,
+{
+ <span class="kw">let </span><span class="kw-2">mut </span>b =
GenericByteDictionaryBuilder::<K,
GenericStringType<O>>::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::<StringViewArray>().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) => {
+ b.append(v)<span class="question-mark">?</span>;
+ }
+ <span class="prelude-val">None </span>=> {
+ 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<K, O: OffsetSizeTrait>(
+ array: <span class="kw-2">&</span><span class="kw">dyn </span>Array,
+) -> <span class="prelude-ty">Result</span><ArrayRef, ArrowError>
+<span class="kw">where
+ </span>K: ArrowDictionaryKeyType,
+{
+ <span class="kw">let </span><span class="kw-2">mut </span>b =
GenericByteDictionaryBuilder::<K,
GenericBinaryType<O>>::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::<BinaryViewArray>().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) => {
+ b.append(v)<span class="question-mark">?</span>;
+ }
+ <span class="prelude-val">None </span>=> {
+ 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<K, T>(
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><<span class="kw-2">&</span>str>;
<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<O>()
@@ -14409,6 +14421,26 @@
<span class="macro">assert_eq!</span>(casted_binary_array.as_ref(),
<span class="kw-2">&</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<Int8Type> = 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">&</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">&</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::<StringArray>().unwrap();
+ <span class="kw">let </span>binary_buffer = cast(<span
class="kw-2">&</span>binary_dict_array.values(), <span
class="kw-2">&</span>DataType::Binary).unwrap();
+ <span class="kw">let </span>binary_dict_array =
+
DictionaryArray::<Int8Type>::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">&</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">&</span>binary_dict_array);
+ }
+
<span class="attr">#[test]
</span><span class="kw">fn </span>test_view_to_string() {
_test_view_to_string::<i32>();
@@ -14448,23 +14480,15 @@
<span class="kw">where
</span>O: OffsetSizeTrait,
{
- <span class="kw">let </span>data: Vec<<span
class="prelude-ty">Option</span><<span class="kw-2">&</span>[u8]>>
= <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::<O>::from(data);
+ <span class="kw">let </span>expected_binary_array =
GenericBinaryArray::<O>::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));