Trait odbc_api::RowSetBuffer[][src]

pub unsafe trait RowSetBuffer {
    fn bind_type(&self) -> u32;
fn row_array_size(&self) -> u32;
fn mut_num_fetch_rows(&mut self) -> &mut usize;
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

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.

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

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

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.

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 until unbound or the statement handle is deleted.

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...