mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-04 14:28:22 +00:00
fix for queries with both order by and limit
This commit is contained in:
parent
335607f6bb
commit
9f47e8ac94
2 changed files with 37 additions and 13 deletions
|
@ -200,6 +200,33 @@ fn parse_select_order_by() {
|
|||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_select_order_by_limit() {
|
||||
let sql = String::from(
|
||||
"SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY lname ASC, fname DESC LIMIT 2",
|
||||
);
|
||||
let ast = parse_sql(&sql);
|
||||
match ast {
|
||||
ASTNode::SQLSelect { order_by, limit, .. } => {
|
||||
assert_eq!(
|
||||
Some(vec![
|
||||
SQLOrderByExpr {
|
||||
expr: Box::new(ASTNode::SQLIdentifier("lname".to_string())),
|
||||
asc: true,
|
||||
},
|
||||
SQLOrderByExpr {
|
||||
expr: Box::new(ASTNode::SQLIdentifier("fname".to_string())),
|
||||
asc: false,
|
||||
},
|
||||
]),
|
||||
order_by
|
||||
);
|
||||
assert_eq!(Some(Box::new(ASTNode::SQLValue(Value::Long(2)))), limit);
|
||||
}
|
||||
_ => assert!(false),
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_select_group_by() {
|
||||
let sql = String::from("SELECT id, fname, lname FROM customer GROUP BY lname, fname");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue