Trait odbc_api::buffers::ColumnBuffer
source · [−]pub unsafe trait ColumnBuffer: for<'a> ColumnProjections<'a> + CDataMut {
fn view(&self, valid_rows: usize) -> <Self as ColumnProjections<'_>>::View;
unsafe fn view_mut(
&mut self,
valid_rows: usize
) -> <Self as ColumnProjections<'_>>::ViewMut;
fn fill_default(&mut self, from: usize, to: usize);
fn capacity(&self) -> usize;
}
Expand description
A buffer able to be used together with ColumnarBuffer
.
Safety
Views must not allow access to unintialized / invalid rows.
Required methods
fn view(&self, valid_rows: usize) -> <Self as ColumnProjections<'_>>::View
fn view(&self, valid_rows: usize) -> <Self as ColumnProjections<'_>>::View
Num rows may not exceed the actually amount of valid num_rows filled be the ODBC API. The column buffer does not know how many elements were in the last row group, and therefore can not guarantee the accessed element to be valid and in a defined state. It also can not panic on accessing an undefined element.
unsafe fn view_mut(
&mut self,
valid_rows: usize
) -> <Self as ColumnProjections<'_>>::ViewMut
unsafe fn view_mut(
&mut self,
valid_rows: usize
) -> <Self as ColumnProjections<'_>>::ViewMut
Safety
valid_rows
must be valid, otherwise the safe abstraction would provide access to invalid
memory.
fn fill_default(&mut self, from: usize, to: usize)
fn fill_default(&mut self, from: usize, to: usize)
Fills the column with the default representation of values, between from
and to
index.