From 3d58c3f70e45797e92160388964ec71562d331db Mon Sep 17 00:00:00 2001 From: Jack Wright <56345+ayax79@users.noreply.github.com> Date: Wed, 19 Feb 2025 19:50:57 -0800 Subject: [PATCH] Expose flag to not maintain order on `polars concat` (#15145) --- .../src/dataframe/command/data/concat.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/nu_plugin_polars/src/dataframe/command/data/concat.rs b/crates/nu_plugin_polars/src/dataframe/command/data/concat.rs index b2d24034f8..5757ec3a22 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/data/concat.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/data/concat.rs @@ -34,6 +34,11 @@ impl PluginCommand for ConcatDF { .switch("rechunk", "Rechunk the resulting dataframe", None) .switch("to-supertypes", "Cast to supertypes", None) .switch("diagonal", "Concatenate dataframes diagonally", None) + .switch( + "no-maintain-order", + "Do not maintain order. The default behavior is to maintain order.", + None, + ) .switch( "from-partitioned-ds", "Concatenate dataframes from a partitioned dataset", @@ -109,6 +114,7 @@ fn command_lazy( let to_supertypes = call.has_flag("to-supertypes")?; let diagonal = call.has_flag("diagonal")?; let from_partitioned_ds = call.has_flag("from-partitioned-ds")?; + let maintain_order = !call.has_flag("no-maintain-order")?; let mut dataframes = call .rest::(0)? .iter() @@ -133,8 +139,7 @@ fn command_lazy( to_supertypes, diagonal, from_partitioned_ds, - // todo - expose maintain order - ..Default::default() + maintain_order, }; let res: NuLazyFrame = polars::prelude::concat(&dataframes, args)