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

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

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.

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

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.

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.

Implementations on Foreign Types

Implementors