| 4823 | #[test] |
| 4824 | fn test_values_buffer_smaller_when_utf8_validation_disabled() { |
| 4825 | fn get_values_buffer_len(col: ArrayRef) -> (usize, usize) { |
| 4826 | // 1. Convert cols into rows |
| 4827 | let converter = RowConverter::new(vec![SortField::new(DataType::Utf8View)]).unwrap(); |
| 4828 | |
| 4829 | // 2a. Convert rows into colsa (validate_utf8 = false) |
| 4830 | let rows = converter.convert_columns(&[col]).unwrap(); |
| 4831 | let converted = converter.convert_rows(&rows).unwrap(); |
| 4832 | let unchecked_values_len = converted[0].as_string_view().data_buffers()[0].len(); |
| 4833 | |
| 4834 | // 2b. Convert rows into cols (validate_utf8 = true since Row is initialized through RowParser) |
| 4835 | let rows = rows.try_into_binary().expect("reasonable size"); |
| 4836 | let parser = converter.parser(); |
| 4837 | let converted = converter |
| 4838 | .convert_rows(rows.iter().map(|b| parser.parse(b.expect("valid bytes")))) |
| 4839 | .unwrap(); |
| 4840 | let checked_values_len = converted[0].as_string_view().data_buffers()[0].len(); |
| 4841 | (unchecked_values_len, checked_values_len) |
| 4842 | } |
| 4843 | |
| 4844 | // Case1. StringViewArray with inline strings |
| 4845 | let col = Arc::new(StringViewArray::from_iter([ |