Update polars to 0.28 (#9136)

# Description
Update polars to 0.28.
Luckily, it didn't require major changes.

# User-Facing Changes
None.
(Apart from the fact that certain error messages will stop breaking
table formatting)
This commit is contained in:
Hofer-Julian
2023-05-08 17:42:53 +02:00
committed by GitHub
parent 388e84e7ef
commit d5ae979094
12 changed files with 142 additions and 135 deletions

View File

@ -97,7 +97,7 @@ fn command(
};
df.as_ref()
.unique(subset_slice, keep_strategy)
.unique(subset_slice, keep_strategy, None)
.map_err(|e| {
ShellError::GenericError(
"Error dropping duplicates".into(),

View File

@ -9,8 +9,8 @@ use nu_protocol::{
use std::{fs::File, io::BufReader, path::PathBuf};
use polars::prelude::{
CsvEncoding, CsvReader, IpcReader, JsonReader, LazyCsvReader, LazyFrame, ParallelStrategy,
ParquetReader, ScanArgsIpc, ScanArgsParquet, SerReader,
CsvEncoding, CsvReader, IpcReader, JsonReader, LazyCsvReader, LazyFileListReader, LazyFrame,
ParallelStrategy, ParquetReader, ScanArgsIpc, ScanArgsParquet, SerReader,
};
#[derive(Clone)]
@ -146,6 +146,7 @@ fn from_parquet(
row_count: None,
low_memory: false,
cloud_options: None,
use_statistics: false,
};
let df: NuLazyFrame = LazyFrame::scan_parquet(file, args)

View File

@ -164,7 +164,7 @@ impl SQLContext {
.unwrap_or_default()
.schema()
.get_index(shm_p)
.unwrap_or((&"".to_string(), &DataType::Null))
.unwrap_or((&"".into(), &DataType::Null))
.0)
})
.collect::<Vec<_>>();

View File

@ -36,7 +36,7 @@ impl Command for ExprLit {
example: "dfr lit 2 | dfr into-nu",
result: Some(Value::Record {
cols: vec!["expr".into(), "value".into()],
vals: vec![Value::test_string("literal"), Value::test_string("2i64")],
vals: vec![Value::test_string("literal"), Value::test_string("2")],
span: Span::test_data(),
}),
}]

View File

@ -98,7 +98,10 @@ fn command(
multithreaded: true,
};
let mut res = df.as_series(call.head)?.argsort(sort_options).into_series();
let mut res = df
.as_series(call.head)?
.arg_sort(sort_options)
.into_series();
res.rename("arg_sort");
NuDataFrame::try_from_series(vec![res], call.head)

View File

@ -146,6 +146,7 @@ fn command(
by: None,
closed_window: None,
tu: None,
tz: None,
};
let res = match roll_type {
RollType::Max => series.rolling_max(rolling_opts),

View File

@ -82,7 +82,7 @@ fn command(
)
})?;
let res = chunked.contains(&pattern).map_err(|e| {
let res = chunked.contains(&pattern, false).map_err(|e| {
ShellError::GenericError(
"Error searching in series".into(),
e.to_string(),

View File

@ -80,7 +80,18 @@ fn command(
)
})?;
let res = casted.strftime(&fmt).into_series();
let res = casted
.strftime(&fmt)
.map_err(|e| {
ShellError::GenericError(
"Error formatting datetime".into(),
e.to_string(),
Some(call.head),
None,
Vec::new(),
)
})?
.into_series();
NuDataFrame::try_from_series(vec![res.into_series()], call.head)
.map(|df| PipelineData::Value(NuDataFrame::into_value(df, call.head), None))

View File

@ -736,7 +736,7 @@ fn contains_series_pat(series: &Series, pat: &str, span: Span) -> Result<Value,
let casted = series.utf8();
match casted {
Ok(casted) => {
let res = casted.contains(pat);
let res = casted.contains(pat, false);
match res {
Ok(res) => {

View File

@ -426,25 +426,29 @@ pub fn expr_to_value(expr: &Expr, span: Span) -> Value {
span,
}
}
Expr::SortBy { expr, by, reverse } => {
Expr::SortBy {
expr,
by,
descending,
} => {
let expr = expr_to_value(expr.as_ref(), span);
let by: Vec<Value> = by.iter().map(|b| expr_to_value(b, span)).collect();
let by = Value::List { vals: by, span };
let reverse: Vec<Value> = reverse
let descending: Vec<Value> = descending
.iter()
.map(|r| Value::Bool { val: *r, span })
.collect();
let reverse = Value::List {
vals: reverse,
let descending = Value::List {
vals: descending,
span,
};
let cols = vec!["expr".into(), "by".into(), "reverse".into()];
let cols = vec!["expr".into(), "by".into(), "descending".into()];
Value::Record {
cols,
vals: vec![expr, by, reverse],
vals: vec![expr, by, descending],
span,
}
}