@@ -308,10 +308,7 @@ mod test {
308308 use arrow:: compute:: CastOptions ;
309309 use arrow:: datatypes:: DataType :: { Int16 , Int32 , Int64 } ;
310310 use arrow:: datatypes:: i256;
311- use arrow_schema:: {
312- DECIMAL32_MAX_PRECISION , DECIMAL64_MAX_PRECISION , DECIMAL128_MAX_PRECISION , DataType ,
313- Field , FieldRef , Fields ,
314- } ;
311+ use arrow_schema:: { DataType , Field , FieldRef , Fields } ;
315312 use chrono:: DateTime ;
316313 use parquet_variant:: {
317314 EMPTY_VARIANT_METADATA_BYTES , Variant , VariantDecimal4 , VariantDecimal8 , VariantDecimal16 ,
@@ -2688,18 +2685,6 @@ mod test {
26882685 Arc :: new ( struct_array)
26892686 }
26902687
2691- macro_rules! max_unscaled_value {
2692- ( 32 , $precision: expr) => {
2693- ( u32 :: pow( 10 , $precision as u32 ) - 1 ) as i32
2694- } ;
2695- ( 64 , $precision: expr) => {
2696- ( u64 :: pow( 10 , $precision as u32 ) - 1 ) as i64
2697- } ;
2698- ( 128 , $precision: expr) => {
2699- ( u128 :: pow( 10 , $precision as u32 ) - 1 ) as i128
2700- } ;
2701- }
2702-
27032688 #[ test]
27042689 fn get_decimal32_unshredded_var_scales_to_scale2 ( ) {
27052690 // Build unshredded variant values with different scales
@@ -2750,7 +2735,7 @@ mod test {
27502735 // Exceed Decimal32 max precision (9) after scaling
27512736 let mut builder = crate :: VariantArrayBuilder :: new ( 1 ) ;
27522737 builder. append_variant ( Variant :: from (
2753- VariantDecimal4 :: try_new ( max_unscaled_value ! ( 32 , DECIMAL32_MAX_PRECISION ) , 0 ) . unwrap ( ) ,
2738+ VariantDecimal4 :: try_new ( VariantDecimal4 :: MAX_UNSCALED_VALUE as i32 , 0 ) . unwrap ( ) ,
27542739 ) ) ;
27552740 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
27562741
@@ -2766,7 +2751,7 @@ mod test {
27662751 fn get_decimal32_precision_overflow_unsafe_errors ( ) {
27672752 let mut builder = crate :: VariantArrayBuilder :: new ( 1 ) ;
27682753 builder. append_variant ( Variant :: from (
2769- VariantDecimal4 :: try_new ( max_unscaled_value ! ( 32 , DECIMAL32_MAX_PRECISION ) , 0 ) . unwrap ( ) ,
2754+ VariantDecimal4 :: try_new ( VariantDecimal4 :: MAX_UNSCALED_VALUE as i32 , 0 ) . unwrap ( ) ,
27702755 ) ) ;
27712756 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
27722757
@@ -2836,7 +2821,7 @@ mod test {
28362821 // Exceed Decimal64 max precision (18) after scaling
28372822 let mut builder = crate :: VariantArrayBuilder :: new ( 1 ) ;
28382823 builder. append_variant ( Variant :: from (
2839- VariantDecimal8 :: try_new ( max_unscaled_value ! ( 64 , DECIMAL64_MAX_PRECISION ) , 0 ) . unwrap ( ) ,
2824+ VariantDecimal8 :: try_new ( VariantDecimal8 :: MAX_UNSCALED_VALUE as i64 , 0 ) . unwrap ( ) ,
28402825 ) ) ;
28412826 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
28422827
@@ -2852,7 +2837,7 @@ mod test {
28522837 fn get_decimal64_precision_overflow_unsafe_errors ( ) {
28532838 let mut builder = crate :: VariantArrayBuilder :: new ( 1 ) ;
28542839 builder. append_variant ( Variant :: from (
2855- VariantDecimal8 :: try_new ( max_unscaled_value ! ( 64 , DECIMAL64_MAX_PRECISION ) , 0 ) . unwrap ( ) ,
2840+ VariantDecimal8 :: try_new ( VariantDecimal8 :: MAX_UNSCALED_VALUE as i64 , 0 ) . unwrap ( ) ,
28562841 ) ) ;
28572842 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
28582843
@@ -2922,8 +2907,7 @@ mod test {
29222907 // Exceed Decimal128 max precision (38) after scaling
29232908 let mut builder = crate :: VariantArrayBuilder :: new ( 1 ) ;
29242909 builder. append_variant ( Variant :: from (
2925- VariantDecimal16 :: try_new ( max_unscaled_value ! ( 128 , DECIMAL128_MAX_PRECISION ) , 0 )
2926- . unwrap ( ) ,
2910+ VariantDecimal16 :: try_new ( VariantDecimal16 :: MAX_UNSCALED_VALUE as i128 , 0 ) . unwrap ( ) ,
29272911 ) ) ;
29282912 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
29292913
@@ -2939,8 +2923,7 @@ mod test {
29392923 fn get_decimal128_precision_overflow_unsafe_errors ( ) {
29402924 let mut builder = crate :: VariantArrayBuilder :: new ( 1 ) ;
29412925 builder. append_variant ( Variant :: from (
2942- VariantDecimal16 :: try_new ( max_unscaled_value ! ( 128 , DECIMAL128_MAX_PRECISION ) , 0 )
2943- . unwrap ( ) ,
2926+ VariantDecimal16 :: try_new ( VariantDecimal16 :: MAX_UNSCALED_VALUE as i128 , 0 ) . unwrap ( ) ,
29442927 ) ) ;
29452928 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
29462929
@@ -3009,12 +2992,10 @@ mod test {
30092992 // Exceed Decimal128 max precision (38) after scaling
30102993 let mut builder = crate :: VariantArrayBuilder :: new ( 2 ) ;
30112994 builder. append_variant ( Variant :: from (
3012- VariantDecimal16 :: try_new ( max_unscaled_value ! ( 128 , DECIMAL128_MAX_PRECISION ) , 1 )
3013- . unwrap ( ) ,
2995+ VariantDecimal16 :: try_new ( VariantDecimal16 :: MAX_UNSCALED_VALUE as i128 , 1 ) . unwrap ( ) ,
30142996 ) ) ;
30152997 builder. append_variant ( Variant :: from (
3016- VariantDecimal16 :: try_new ( max_unscaled_value ! ( 128 , DECIMAL128_MAX_PRECISION ) , 0 )
3017- . unwrap ( ) ,
2998+ VariantDecimal16 :: try_new ( VariantDecimal16 :: MAX_UNSCALED_VALUE as i128 , 0 ) . unwrap ( ) ,
30182999 ) ) ;
30193000 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
30203001
@@ -3027,7 +3008,7 @@ mod test {
30273008 // So expected integer is (10^38-1) * 10^(39-1) = (10^38-1) * 10^38
30283009 let base = i256:: from_i128 ( 10 ) ;
30293010 let factor = base. checked_pow ( 38 ) . unwrap ( ) ;
3030- let expected = i256:: from_i128 ( max_unscaled_value ! ( 128 , DECIMAL128_MAX_PRECISION ) )
3011+ let expected = i256:: from_i128 ( VariantDecimal16 :: MAX_UNSCALED_VALUE as i128 )
30313012 . checked_mul ( factor)
30323013 . unwrap ( ) ;
30333014 assert_eq ! ( result. value( 0 ) , expected) ;
@@ -3039,12 +3020,10 @@ mod test {
30393020 // Exceed Decimal128 max precision (38) after scaling
30403021 let mut builder = crate :: VariantArrayBuilder :: new ( 2 ) ;
30413022 builder. append_variant ( Variant :: from (
3042- VariantDecimal16 :: try_new ( max_unscaled_value ! ( 128 , DECIMAL128_MAX_PRECISION ) , 1 )
3043- . unwrap ( ) ,
3023+ VariantDecimal16 :: try_new ( VariantDecimal16 :: MAX_UNSCALED_VALUE as i128 , 1 ) . unwrap ( ) ,
30443024 ) ) ;
30453025 builder. append_variant ( Variant :: from (
3046- VariantDecimal16 :: try_new ( max_unscaled_value ! ( 128 , DECIMAL128_MAX_PRECISION ) , 0 )
3047- . unwrap ( ) ,
3026+ VariantDecimal16 :: try_new ( VariantDecimal16 :: MAX_UNSCALED_VALUE as i128 , 0 ) . unwrap ( ) ,
30483027 ) ) ;
30493028 let variant_array: ArrayRef = ArrayRef :: from ( builder. build ( ) ) ;
30503029
0 commit comments