use crate::column::Column;
use polars::prelude::{Expr, NULL, lit};
pub fn col(name: &str) -> Column {
Column::new(name.to_string())
}
pub fn grouping(column: &Column) -> Column {
let _ = column;
Column::from_expr(lit(0i32), Some("grouping".to_string()))
}
pub fn grouping_id(_columns: &[Column]) -> Column {
Column::from_expr(lit(0i64), Some("grouping_id".to_string()))
}
pub fn lit_i32(value: i32) -> Column {
let expr: Expr = lit(value);
Column::from_expr(expr, None)
}
pub fn lit_i64(value: i64) -> Column {
let expr: Expr = lit(value);
Column::from_expr(expr, None)
}
pub fn lit_f64(value: f64) -> Column {
let expr: Expr = lit(value);
Column::from_expr(expr, None)
}
pub fn lit_bool(value: bool) -> Column {
let expr: Expr = lit(value);
Column::from_expr(expr, None)
}
pub fn lit_str(value: &str) -> Column {
let expr: Expr = lit(value);
Column::from_expr(expr, None)
}
pub fn lit_null(dtype: &str) -> Result<Column, String> {
Column::lit_null(dtype)
}
pub fn lit_null_untyped() -> Column {
Column::from_expr(lit(NULL), None)
}