mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-09-26 23:49:10 +00:00
parent
56e50dccd4
commit
d8775e2815
3 changed files with 16 additions and 26 deletions
|
@ -85,20 +85,11 @@ mod tests {
|
||||||
dialect: ansi_dialect,
|
dialect: ansi_dialect,
|
||||||
};
|
};
|
||||||
|
|
||||||
assert_eq!(
|
assert!(dialect_of!(generic_holder is GenericDialect | AnsiDialect),);
|
||||||
dialect_of!(generic_holder is GenericDialect | AnsiDialect),
|
assert!(!dialect_of!(generic_holder is AnsiDialect));
|
||||||
true
|
|
||||||
);
|
|
||||||
assert_eq!(dialect_of!(generic_holder is AnsiDialect), false);
|
|
||||||
|
|
||||||
assert_eq!(dialect_of!(ansi_holder is AnsiDialect), true);
|
assert!(dialect_of!(ansi_holder is AnsiDialect));
|
||||||
assert_eq!(
|
assert!(dialect_of!(ansi_holder is GenericDialect | AnsiDialect),);
|
||||||
dialect_of!(ansi_holder is GenericDialect | AnsiDialect),
|
assert!(!dialect_of!(ansi_holder is GenericDialect | MsSqlDialect),);
|
||||||
true
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
dialect_of!(ansi_holder is GenericDialect | MsSqlDialect),
|
|
||||||
false
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2358,8 +2358,7 @@ impl<'a> Parser<'a> {
|
||||||
]) // This couldn't possibly be a bad idea
|
]) // This couldn't possibly be a bad idea
|
||||||
})?
|
})?
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|i| i.is_some())
|
.flatten()
|
||||||
.map(|i| i.unwrap())
|
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
lateral_views.push(LateralView {
|
lateral_views.push(LateralView {
|
||||||
|
|
|
@ -249,7 +249,7 @@ fn parse_top_level() {
|
||||||
fn parse_simple_select() {
|
fn parse_simple_select() {
|
||||||
let sql = "SELECT id, fname, lname FROM customer WHERE id = 1 LIMIT 5";
|
let sql = "SELECT id, fname, lname FROM customer WHERE id = 1 LIMIT 5";
|
||||||
let select = verified_only_select(sql);
|
let select = verified_only_select(sql);
|
||||||
assert_eq!(false, select.distinct);
|
assert!(!select.distinct);
|
||||||
assert_eq!(3, select.projection.len());
|
assert_eq!(3, select.projection.len());
|
||||||
let select = verified_query(sql);
|
let select = verified_query(sql);
|
||||||
assert_eq!(Some(Expr::Value(number("5"))), select.limit);
|
assert_eq!(Some(Expr::Value(number("5"))), select.limit);
|
||||||
|
@ -269,7 +269,7 @@ fn parse_limit_is_not_an_alias() {
|
||||||
fn parse_select_distinct() {
|
fn parse_select_distinct() {
|
||||||
let sql = "SELECT DISTINCT name FROM customer";
|
let sql = "SELECT DISTINCT name FROM customer";
|
||||||
let select = verified_only_select(sql);
|
let select = verified_only_select(sql);
|
||||||
assert_eq!(true, select.distinct);
|
assert!(select.distinct);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
&SelectItem::UnnamedExpr(Expr::Identifier(Ident::new("name"))),
|
&SelectItem::UnnamedExpr(Expr::Identifier(Ident::new("name"))),
|
||||||
only(&select.projection)
|
only(&select.projection)
|
||||||
|
@ -1693,8 +1693,8 @@ fn parse_alter_table_drop_column() {
|
||||||
} => {
|
} => {
|
||||||
assert_eq!("tab", name.to_string());
|
assert_eq!("tab", name.to_string());
|
||||||
assert_eq!("is_active", column_name.to_string());
|
assert_eq!("is_active", column_name.to_string());
|
||||||
assert_eq!(true, if_exists);
|
assert!(if_exists);
|
||||||
assert_eq!(true, cascade);
|
assert!(cascade);
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
|
@ -2928,13 +2928,13 @@ fn parse_drop_table() {
|
||||||
cascade,
|
cascade,
|
||||||
purge: _,
|
purge: _,
|
||||||
} => {
|
} => {
|
||||||
assert_eq!(false, if_exists);
|
assert!(!if_exists);
|
||||||
assert_eq!(ObjectType::Table, object_type);
|
assert_eq!(ObjectType::Table, object_type);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
vec!["foo"],
|
vec!["foo"],
|
||||||
names.iter().map(ToString::to_string).collect::<Vec<_>>()
|
names.iter().map(ToString::to_string).collect::<Vec<_>>()
|
||||||
);
|
);
|
||||||
assert_eq!(false, cascade);
|
assert!(!cascade);
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
|
@ -2948,13 +2948,13 @@ fn parse_drop_table() {
|
||||||
cascade,
|
cascade,
|
||||||
purge: _,
|
purge: _,
|
||||||
} => {
|
} => {
|
||||||
assert_eq!(true, if_exists);
|
assert!(if_exists);
|
||||||
assert_eq!(ObjectType::Table, object_type);
|
assert_eq!(ObjectType::Table, object_type);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
vec!["foo", "bar"],
|
vec!["foo", "bar"],
|
||||||
names.iter().map(ToString::to_string).collect::<Vec<_>>()
|
names.iter().map(ToString::to_string).collect::<Vec<_>>()
|
||||||
);
|
);
|
||||||
assert_eq!(true, cascade);
|
assert!(cascade);
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
|
@ -3389,8 +3389,8 @@ fn parse_create_index() {
|
||||||
assert_eq!("idx_name", name.to_string());
|
assert_eq!("idx_name", name.to_string());
|
||||||
assert_eq!("test", table_name.to_string());
|
assert_eq!("test", table_name.to_string());
|
||||||
assert_eq!(indexed_columns, columns);
|
assert_eq!(indexed_columns, columns);
|
||||||
assert_eq!(true, unique);
|
assert!(unique);
|
||||||
assert_eq!(true, if_not_exists)
|
assert!(if_not_exists)
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue