pub type GenericBinaryBuilder<O> = GenericByteBuilder<GenericBinaryType<O>>;
Expand description
Array builder for GenericBinaryArray
Values can be appended using GenericByteBuilder::append_value
, and nulls with
GenericByteBuilder::append_null
.
§Example
let mut builder = GenericBinaryBuilder::<i32>::new();
// Write data
builder.append_value("foo");
// Write second value
builder.append_value(&[0,1,2]);
let array = builder.finish();
// binary values
assert_eq!(array.value(0), b"foo");
assert_eq!(array.value(1), b"\x00\x01\x02");
§Example incrementally writing bytes with write_bytes
let mut builder = GenericBinaryBuilder::<i32>::new();
// Write data in multiple `write_bytes` calls
write!(builder, "foo").unwrap();
write!(builder, "bar").unwrap();
// The next call to append_value finishes the current string
// including all previously written strings.
builder.append_value("baz");
// Write second value with a single write call
write!(builder, "v2").unwrap();
// finish the value by calling append_value with an empty string
builder.append_value("");
let array = builder.finish();
assert_eq!(array.value(0), "foobarbaz".as_bytes());
assert_eq!(array.value(1), "v2".as_bytes());
Aliased Type§
struct GenericBinaryBuilder<O> {
value_builder: BufferBuilder<u8>,
offsets_builder: BufferBuilder<<GenericBinaryType<O> as ByteArrayType>::Offset>,
null_buffer_builder: NullBufferBuilder,
}
Fields§
§value_builder: BufferBuilder<u8>
§offsets_builder: BufferBuilder<<GenericBinaryType<O> as ByteArrayType>::Offset>
§null_buffer_builder: NullBufferBuilder
Trait Implementations§
Source§impl<O: OffsetSizeTrait> Write for GenericBinaryBuilder<O>
impl<O: OffsetSizeTrait> Write for GenericBinaryBuilder<O>
Source§fn write(&mut self, bs: &[u8]) -> Result<usize>
fn write(&mut self, bs: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more