MCPcopy Create free account
hub / github.com/apache/arrow-rs / create_input_array

Method create_input_array

arrow/benches/coalesce_kernels.rs:906–960  ·  view source on GitHub ↗
(&self, field: &Field, seed: u64)

Source from the content-addressed store, hash-verified

904 }
905
906 fn create_input_array(&self, field: &Field, seed: u64) -> ArrayRef {
907 match field.data_type() {
908 DataType::Int32 => Arc::new(create_primitive_array_with_seed::<Int32Type>(
909 self.batch_size,
910 self.null_density,
911 seed,
912 )),
913 DataType::Float64 => Arc::new(create_primitive_array_with_seed::<Float64Type>(
914 self.batch_size,
915 self.null_density,
916 seed,
917 )),
918 DataType::Timestamp(TimeUnit::Nanosecond, Some(tz)) => Arc::new(
919 create_primitive_array_with_seed::<TimestampNanosecondType>(
920 self.batch_size,
921 self.null_density,
922 seed,
923 )
924 .with_timezone(Arc::clone(tz)),
925 ),
926 DataType::Utf8 => Arc::new(create_string_array::<i32>(
927 self.batch_size,
928 self.null_density,
929 )), // TODO seed
930 DataType::Utf8View => {
931 Arc::new(create_string_view_array_with_max_len(
932 self.batch_size,
933 self.null_density,
934 self.max_string_len,
935 )) // TODO seed
936 }
937 DataType::BinaryView => Arc::new(BinaryViewArray::from_iter(
938 create_binary_array_with_len_range_and_prefix_and_seed::<i32>(
939 self.batch_size,
940 self.null_density,
941 0,
942 self.max_string_len,
943 b"",
944 seed,
945 )
946 .iter(),
947 )),
948 DataType::Dictionary(key_type, value_type)
949 if key_type.as_ref() == &DataType::Int32
950 && value_type.as_ref() == &DataType::Utf8 =>
951 {
952 Arc::new(create_string_dict_array::<Int32Type>(
953 self.batch_size,
954 self.null_density,
955 self.max_string_len,
956 )) // TODO seed
957 }
958 _ => panic!("Unsupported data type: {field:?}"),
959 }
960 }
961}

Callers 1

buildMethod · 0.80

Calls 6

from_iterFunction · 0.50
data_typeMethod · 0.45
with_timezoneMethod · 0.45
iterMethod · 0.45
as_refMethod · 0.45

Tested by

no test coverage detected