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

Function encode_rows_appends_to_existing_buffer

arrow-avro/src/writer/encoder.rs:3781–3804  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3779
3780 #[test]
3781 fn encode_rows_appends_to_existing_buffer() {
3782 let schema = ArrowSchema::new(vec![Field::new("x", DataType::Int32, false)]);
3783 let arr = Int32Array::from(vec![5, 6]);
3784 let batch = RecordBatch::try_new(Arc::new(schema.clone()), vec![Arc::new(arr)]).unwrap();
3785 let encoder = RecordEncoder {
3786 columns: vec![FieldBinding {
3787 arrow_index: 0,
3788 nullability: None,
3789 plan: FieldPlan::Scalar,
3790 }],
3791 prefix: None,
3792 };
3793 let mut out = BytesMut::new();
3794 out.extend_from_slice(&[0xAA, 0xBB]);
3795 let mut offsets: Vec<usize> = vec![0, out.len()];
3796 encoder
3797 .encode_rows(&batch, 16, &mut out, &mut offsets)
3798 .unwrap();
3799 assert_eq!(offsets.len(), 4);
3800 assert_eq!(*offsets.last().unwrap(), out.len());
3801 assert_bytes_eq(row_slice(&out, &offsets, 0), &[0xAA, 0xBB]);
3802 assert_bytes_eq(row_slice(&out, &offsets, 1), &avro_long_bytes(5));
3803 assert_bytes_eq(row_slice(&out, &offsets, 2), &avro_long_bytes(6));
3804 }
3805
3806 #[test]
3807 fn encode_rows_nullable_column() {

Callers

nothing calls this directly

Calls 7

try_newFunction · 0.85
assert_bytes_eqFunction · 0.85
row_sliceFunction · 0.85
avro_long_bytesFunction · 0.85
extend_from_sliceMethod · 0.80
encode_rowsMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected