use std::io::Error;
use super::rel::*;
use super::exec::*;
#[derive(Debug)]
pub enum DataFrameError {
TBD,
NotImplemented
}
impl From<ExecutionError> for DataFrameError {
fn from(_e: ExecutionError) -> Self {
DataFrameError::TBD
}
}
impl From<Error> for DataFrameError {
fn from(_e: Error) -> Self {
DataFrameError::TBD
}
}
pub trait DataFrame {
fn repartition(&self, n: u32) -> Result<Box<DataFrame>,DataFrameError>;
fn select(&self, expr: Vec<Rex>) -> Result<Box<DataFrame>,DataFrameError>;
fn filter(&self, expr: Rex) -> Result<Box<DataFrame>,DataFrameError>;
fn write(&self, filename: &str) -> Result<(),DataFrameError>;
fn col(&self, column_name: &str) -> Result<Rex,DataFrameError>;
}