Skip to content

Commit 5776221

Browse files
committed
use ScalarValue::from
1 parent 90304b6 commit 5776221

File tree

1 file changed

+38
-84
lines changed

1 file changed

+38
-84
lines changed

datafusion/common/src/pruning.rs

Lines changed: 38 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -462,8 +462,8 @@ mod tests {
462462
#[test]
463463
fn test_partition_pruning_statistics() {
464464
let partition_values = vec![
465-
vec![ScalarValue::Int32(Some(1)), ScalarValue::Int32(Some(2))],
466-
vec![ScalarValue::Int32(Some(3)), ScalarValue::Int32(Some(4))],
465+
vec![ScalarValue::from(1i32), ScalarValue::from(2i32)],
466+
vec![ScalarValue::from(3i32), ScalarValue::from(4i32)],
467467
];
468468
let partition_fields = vec![
469469
Arc::new(Field::new("a", DataType::Int32, false)),
@@ -513,7 +513,7 @@ mod tests {
513513
assert_eq!(max_values_b, expected_values_b);
514514

515515
// Contained values are only true for the partition values
516-
let values = HashSet::from([ScalarValue::Int32(Some(1))]);
516+
let values = HashSet::from([ScalarValue::from(1i32)]);
517517
let contained_a = partition_stats.contained(&column_a, &values).unwrap();
518518
let expected_contained_a = BooleanArray::from(vec![true, false]);
519519
assert_eq!(contained_a, expected_contained_a);
@@ -551,7 +551,7 @@ mod tests {
551551
assert!(partition_stats.max_values(&column_b).is_none());
552552

553553
// Contained values are all empty
554-
let values = HashSet::from([ScalarValue::Int32(Some(1))]);
554+
let values = HashSet::from([ScalarValue::from(1i32)]);
555555
let contained_a = partition_stats.contained(&column_a, &values);
556556
let expected_contained_a = BooleanArray::from(Vec::<Option<bool>>::new());
557557
assert_eq!(contained_a, Some(expected_contained_a));
@@ -564,20 +564,14 @@ mod tests {
564564
Statistics::default()
565565
.add_column_statistics(
566566
ColumnStatistics::new_unknown()
567-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(0))))
568-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
569-
100,
570-
))))
567+
.with_min_value(Precision::Exact(ScalarValue::from(0i32)))
568+
.with_max_value(Precision::Exact(ScalarValue::from(100i32)))
571569
.with_null_count(Precision::Exact(0)),
572570
)
573571
.add_column_statistics(
574572
ColumnStatistics::new_unknown()
575-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
576-
100,
577-
))))
578-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
579-
200,
580-
))))
573+
.with_min_value(Precision::Exact(ScalarValue::from(100i32)))
574+
.with_max_value(Precision::Exact(ScalarValue::from(200i32)))
581575
.with_null_count(Precision::Exact(5)),
582576
)
583577
.with_num_rows(Precision::Exact(100)),
@@ -586,22 +580,14 @@ mod tests {
586580
Statistics::default()
587581
.add_column_statistics(
588582
ColumnStatistics::new_unknown()
589-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
590-
50,
591-
))))
592-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
593-
300,
594-
))))
583+
.with_min_value(Precision::Exact(ScalarValue::from(50i32)))
584+
.with_max_value(Precision::Exact(ScalarValue::from(300i32)))
595585
.with_null_count(Precision::Exact(10)),
596586
)
597587
.add_column_statistics(
598588
ColumnStatistics::new_unknown()
599-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
600-
200,
601-
))))
602-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
603-
400,
604-
))))
589+
.with_min_value(Precision::Exact(ScalarValue::from(200i32)))
590+
.with_max_value(Precision::Exact(ScalarValue::from(400i32)))
605591
.with_null_count(Precision::Exact(0)),
606592
)
607593
.with_num_rows(Precision::Exact(200)),
@@ -675,7 +661,7 @@ mod tests {
675661
assert_eq!(row_counts_b, expected_row_counts_b);
676662

677663
// Contained values are all null/missing (we can't know this just from statistics)
678-
let values = HashSet::from([ScalarValue::Int32(Some(0))]);
664+
let values = HashSet::from([ScalarValue::from(0i32)]);
679665
assert!(pruning_stats.contained(&column_a, &values).is_none());
680666
assert!(pruning_stats.contained(&column_b, &values).is_none());
681667

@@ -737,16 +723,16 @@ mod tests {
737723
assert!(pruning_stats.row_counts(&column_b).is_none());
738724

739725
// Contained values are all empty
740-
let values = HashSet::from([ScalarValue::Int32(Some(1))]);
726+
let values = HashSet::from([ScalarValue::from(1i32)]);
741727
assert!(pruning_stats.contained(&column_a, &values).is_none());
742728
}
743729

744730
#[test]
745731
fn test_composite_pruning_statistics_partition_and_file() {
746732
// Create partition statistics
747733
let partition_values = vec![
748-
vec![ScalarValue::Int32(Some(1)), ScalarValue::Int32(Some(10))],
749-
vec![ScalarValue::Int32(Some(2)), ScalarValue::Int32(Some(20))],
734+
vec![ScalarValue::from(1i32), ScalarValue::from(10i32)],
735+
vec![ScalarValue::from(2i32), ScalarValue::from(20i32)],
750736
];
751737
let partition_fields = vec![
752738
Arc::new(Field::new("part_a", DataType::Int32, false)),
@@ -761,22 +747,14 @@ mod tests {
761747
Statistics::default()
762748
.add_column_statistics(
763749
ColumnStatistics::new_unknown()
764-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
765-
100,
766-
))))
767-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
768-
200,
769-
))))
750+
.with_min_value(Precision::Exact(ScalarValue::from(100i32)))
751+
.with_max_value(Precision::Exact(ScalarValue::from(200i32)))
770752
.with_null_count(Precision::Exact(0)),
771753
)
772754
.add_column_statistics(
773755
ColumnStatistics::new_unknown()
774-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
775-
300,
776-
))))
777-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
778-
400,
779-
))))
756+
.with_min_value(Precision::Exact(ScalarValue::from(300i32)))
757+
.with_max_value(Precision::Exact(ScalarValue::from(400i32)))
780758
.with_null_count(Precision::Exact(5)),
781759
)
782760
.with_num_rows(Precision::Exact(100)),
@@ -785,22 +763,14 @@ mod tests {
785763
Statistics::default()
786764
.add_column_statistics(
787765
ColumnStatistics::new_unknown()
788-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
789-
500,
790-
))))
791-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
792-
600,
793-
))))
766+
.with_min_value(Precision::Exact(ScalarValue::from(500i32)))
767+
.with_max_value(Precision::Exact(ScalarValue::from(600i32)))
794768
.with_null_count(Precision::Exact(10)),
795769
)
796770
.add_column_statistics(
797771
ColumnStatistics::new_unknown()
798-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
799-
700,
800-
))))
801-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
802-
800,
803-
))))
772+
.with_min_value(Precision::Exact(ScalarValue::from(700i32)))
773+
.with_max_value(Precision::Exact(ScalarValue::from(800i32)))
804774
.with_null_count(Precision::Exact(0)),
805775
)
806776
.with_num_rows(Precision::Exact(200)),
@@ -900,7 +870,7 @@ mod tests {
900870
assert_eq!(row_counts_col_x, expected_row_counts);
901871

902872
// Test contained values - only available from partition statistics
903-
let values = HashSet::from([ScalarValue::Int32(Some(1))]);
873+
let values = HashSet::from([ScalarValue::from(1i32)]);
904874
let contained_part_a = composite_stats.contained(&part_a, &values).unwrap();
905875
let expected_contained_part_a = BooleanArray::from(vec![true, false]);
906876
assert_eq!(contained_part_a, expected_contained_part_a);
@@ -931,12 +901,8 @@ mod tests {
931901
Statistics::default()
932902
.add_column_statistics(
933903
ColumnStatistics::new_unknown()
934-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
935-
100,
936-
))))
937-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
938-
200,
939-
))))
904+
.with_min_value(Precision::Exact(ScalarValue::from(100i32)))
905+
.with_max_value(Precision::Exact(ScalarValue::from(200i32)))
940906
.with_null_count(Precision::Exact(0)),
941907
)
942908
.with_num_rows(Precision::Exact(100)),
@@ -945,12 +911,8 @@ mod tests {
945911
Statistics::default()
946912
.add_column_statistics(
947913
ColumnStatistics::new_unknown()
948-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
949-
300,
950-
))))
951-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
952-
400,
953-
))))
914+
.with_min_value(Precision::Exact(ScalarValue::from(300i32)))
915+
.with_max_value(Precision::Exact(ScalarValue::from(400i32)))
954916
.with_null_count(Precision::Exact(5)),
955917
)
956918
.with_num_rows(Precision::Exact(200)),
@@ -970,12 +932,8 @@ mod tests {
970932
Statistics::default()
971933
.add_column_statistics(
972934
ColumnStatistics::new_unknown()
973-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
974-
1000,
975-
))))
976-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
977-
2000,
978-
))))
935+
.with_min_value(Precision::Exact(ScalarValue::from(1000i32)))
936+
.with_max_value(Precision::Exact(ScalarValue::from(2000i32)))
979937
.with_null_count(Precision::Exact(10)),
980938
)
981939
.with_num_rows(Precision::Exact(1000)),
@@ -984,12 +942,8 @@ mod tests {
984942
Statistics::default()
985943
.add_column_statistics(
986944
ColumnStatistics::new_unknown()
987-
.with_min_value(Precision::Exact(ScalarValue::Int32(Some(
988-
3000,
989-
))))
990-
.with_max_value(Precision::Exact(ScalarValue::Int32(Some(
991-
4000,
992-
))))
945+
.with_min_value(Precision::Exact(ScalarValue::from(3000i32)))
946+
.with_max_value(Precision::Exact(ScalarValue::from(4000i32)))
993947
.with_null_count(Precision::Exact(20)),
994948
)
995949
.with_num_rows(Precision::Exact(2000)),
@@ -1096,8 +1050,8 @@ mod tests {
10961050
// Create statistics with different number of containers
10971051
// Use partition stats for the test
10981052
let partition_values_1 = vec![
1099-
vec![ScalarValue::Int32(Some(1)), ScalarValue::Int32(Some(10))],
1100-
vec![ScalarValue::Int32(Some(2)), ScalarValue::Int32(Some(20))],
1053+
vec![ScalarValue::from(1i32), ScalarValue::from(10i32)],
1054+
vec![ScalarValue::from(2i32), ScalarValue::from(20i32)],
11011055
];
11021056
let partition_fields_1 = vec![
11031057
Arc::new(Field::new("part_a", DataType::Int32, false)),
@@ -1106,9 +1060,9 @@ mod tests {
11061060
let partition_stats_1 =
11071061
PartitionPruningStatistics::new(partition_values_1, partition_fields_1);
11081062
let partition_values_2 = vec![
1109-
vec![ScalarValue::Int32(Some(3)), ScalarValue::Int32(Some(30))],
1110-
vec![ScalarValue::Int32(Some(4)), ScalarValue::Int32(Some(40))],
1111-
vec![ScalarValue::Int32(Some(5)), ScalarValue::Int32(Some(50))],
1063+
vec![ScalarValue::from(3i32), ScalarValue::from(30i32)],
1064+
vec![ScalarValue::from(4i32), ScalarValue::from(40i32)],
1065+
vec![ScalarValue::from(5i32), ScalarValue::from(50i32)],
11121066
];
11131067
let partition_fields_2 = vec![
11141068
Arc::new(Field::new("part_x", DataType::Int32, false)),

0 commit comments

Comments
 (0)