Skip to content

Commit 8571adc

Browse files
committed
Adapt decimal v2 compression to the updated base
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
1 parent 4f81fcf commit 8571adc

2 files changed

Lines changed: 12 additions & 10 deletions

File tree

  • encodings/decimal-byte-parts/src/decimal_byte_parts
  • vortex-btrblocks/src/schemes/decimal

‎encodings/decimal-byte-parts/src/decimal_byte_parts/mod.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const MAX_I128_LOWER_PARTS: usize = 1;
5454
const MAX_I256_LOWER_PARTS: usize = 3;
5555

5656
/// The maximum number of 64-bit lower parts an encoded decimal can carry.
57-
const MAX_LOWER_PARTS: usize = MAX_I256_LOWER_PARTS;
57+
pub const MAX_LOWER_PARTS: usize = MAX_I256_LOWER_PARTS;
5858

5959
/// Number of bits stored in each lower part.
6060
const LOWER_PART_BITS: usize = 64;

‎vortex-btrblocks/src/schemes/decimal/tests.rs‎

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -231,19 +231,21 @@ fn test_narrow_precision_with_wide_null_slot(
231231
}
232232

233233
#[rstest]
234-
#[case::neither(vec![], false)]
235-
#[case::v1(vec![DecimalByteParts.id()], true)]
236-
#[case::v2_without_v1(vec![decimal_byte_parts_v2_id()], false)]
237-
#[case::both(vec![DecimalByteParts.id(), decimal_byte_parts_v2_id()], true)]
234+
#[case::neither(vec![], None)]
235+
#[case::v1(vec![DecimalByteParts.id()], Some(DecimalScheme.id()))]
236+
#[case::v2_without_v1(vec![decimal_byte_parts_v2_id()], None)]
237+
#[case::both(vec![DecimalByteParts.id(), decimal_byte_parts_v2_id()], Some(DecimalSchemeV2.id()))]
238238
fn test_decimal_scheme_requires_every_possible_wire_id(
239239
#[case] allowed: Vec<ArrayId>,
240-
#[case] enabled: bool,
240+
#[case] selected: Option<SchemeId>,
241241
) {
242242
let compressor = BtrBlocksCompressorBuilder::default()
243243
.allow_serialized_ids(&allowed.into_iter().collect())
244244
.build();
245-
assert_eq!(compressor.has_scheme(DecimalScheme.id()), enabled);
246-
assert_eq!(compressor.has_scheme(DecimalSchemeV2.id()), enabled);
245+
for scheme in [DecimalScheme.id(), DecimalSchemeV2.id()] {
246+
assert_eq!(compressor.has_scheme_family(scheme), selected.is_some());
247+
assert_eq!(compressor.has_scheme(scheme), selected == Some(scheme));
248+
}
247249
}
248250

249251
#[rstest]
@@ -253,8 +255,8 @@ fn test_excluding_either_decimal_version_removes_the_chain(#[case] excluded: Sch
253255
let compressor = BtrBlocksCompressorBuilder::default()
254256
.exclude_schemes([excluded])
255257
.build();
256-
assert!(!compressor.has_scheme(DecimalScheme.id()));
257-
assert!(!compressor.has_scheme(DecimalSchemeV2.id()));
258+
assert!(!compressor.has_scheme_family(DecimalScheme.id()));
259+
assert!(!compressor.has_scheme_family(DecimalSchemeV2.id()));
258260
}
259261

260262
#[test]

0 commit comments

Comments
 (0)