use super::error::DBError;
use super::allocator::Allocator;
use super::block::RefView;
use super::row::RowOffset;
use super::schema::Schema;
const DEFAULT_CURSOR_FETCH : RowOffset = 1024;
pub enum CursorChunk<'a> {
Next(RefView<'a>),
End,
}
pub trait Cursor<'a> {
fn schema(&self) -> &Schema;
fn next(&'a mut self, rows: RowOffset) -> Result<CursorChunk<'a>, DBError>;
}
pub trait Operation<'a> {
fn bind<'b: 'a>(&self, &'b Allocator) -> Result<Box<Cursor<'a> + 'a>, DBError>;
}
pub mod scan_view;
pub mod project;
pub use self::scan_view::ScanView;
pub use self::project::Project;