mirror of
https://github.com/nushell/nushell.git
synced 2025-04-01 03:36:53 +02:00
Show entire table if number of rows requested for last
is greater than table size (#2112)
* Show entire table if number of rows requested for last is greater than table size * rustfmt * Add test
This commit is contained in:
parent
8ea2307815
commit
9e82e5a2fa
@ -69,16 +69,18 @@ async fn last(args: CommandArgs, registry: &CommandRegistry) -> Result<OutputStr
|
|||||||
1
|
1
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut values_vec_deque = VecDeque::new();
|
|
||||||
|
|
||||||
let count = rows_desired as usize;
|
let count = rows_desired as usize;
|
||||||
|
|
||||||
if count < v.len() {
|
let k = if count < v.len() {
|
||||||
let k = v.len() - count;
|
v.len() - count
|
||||||
|
} else {
|
||||||
|
return Ok(futures::stream::iter(v).to_output_stream());
|
||||||
|
};
|
||||||
|
|
||||||
for x in v[k..].iter() {
|
let mut values_vec_deque = VecDeque::new();
|
||||||
values_vec_deque.push_back(ReturnSuccess::value(x.clone()));
|
|
||||||
}
|
for x in v[k..].iter() {
|
||||||
|
values_vec_deque.push_back(ReturnSuccess::value(x.clone()));
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(futures::stream::iter(values_vec_deque).to_output_stream())
|
Ok(futures::stream::iter(values_vec_deque).to_output_stream())
|
||||||
|
@ -54,3 +54,15 @@ fn gets_last_row_when_no_amount_given() {
|
|||||||
assert_eq!(actual.out, "1");
|
assert_eq!(actual.out, "1");
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn requests_more_rows_than_table_has() {
|
||||||
|
let actual = nu!(
|
||||||
|
cwd: ".", pipeline(
|
||||||
|
r#"
|
||||||
|
date | last 50 | count
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
|
||||||
|
assert_eq!(actual.out, "1");
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user