Skip to main content

AnyColumnBuffer

Trait AnyColumnBuffer 

Source
pub trait AnyColumnBuffer:
    ColumnBuffer
    + Resize
    + Any
    + Send { }
Expand description

A ColumnBuffer that additionally carries runtime type information, so a trait object can be downcast to the concrete buffer type it was constructed from. Intended for ColumnarBuffer with heterogenous columns, i.e. integer and text columns.

This trait also inherits fromSend so we can use it in concurrent bulk fetches using double buffering in multiple threads. Currently there are no buffer implementations which are not Send. So a distinction between Send and non-Send buffers is assumed to cause more friction rather than being helpful.

Implementors§

Source§

impl<T> AnyColumnBuffer for T
where T: ColumnBuffer + Resize + Any + Send,