[][src]Trait odbc_api::RowSetBuffer

pub unsafe trait RowSetBuffer {
    pub fn bind_type(&self) -> u32;
pub fn row_array_size(&self) -> u32;
pub fn mut_num_fetch_rows(&mut self) -> &mut usize;
pub unsafe fn bind_to_cursor(
        &mut self,
        cursor: &mut impl Cursor
    ) -> Result<(), Error>; }

A Row set buffer binds row, or column wise buffers to a cursor in order to fill them with row sets with each call to fetch.

Safety

Implementers of this trait must ensure that every pointer bound in bind_to_cursor stays valid even if an instance is moved in memory. Bound members should therefore be likely references themselves. To bind stack allocated buffers it is recommended to implement this trait on the reference type instead.

Required methods

pub fn bind_type(&self) -> u32[src]

Declares the bind type of the Row set buffer. 0 Means a columnar binding is used. Any non zero number is interpreted as the size of a single row in a row wise binding style.

pub fn row_array_size(&self) -> u32[src]

The batch size for bulk cursors, if retrieving many rows at once.

pub fn mut_num_fetch_rows(&mut self) -> &mut usize[src]

Mutable reference to the number of fetched rows.

Safety

Implementations of this method must take care that the returned referenced stays valid, even if self should be moved.

pub unsafe fn bind_to_cursor(
    &mut self,
    cursor: &mut impl Cursor
) -> Result<(), Error>
[src]

Binds the buffer either column or row wise to the cursor.

Safety

It's the implementations responsibility to ensure that all bound buffers are valid as specified and live long enough.

Loading content...

Implementations on Foreign Types

impl<T: RowSetBuffer, '_> RowSetBuffer for &'_ mut T[src]

Loading content...

Implementors

impl RowSetBuffer for ColumnarRowSet[src]

impl RowSetBuffer for TextRowSet[src]

Loading content...