mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-27 17:34:05 +00:00
Table time travel clause support, add visit_table_factor
to Visitor (#951)
This commit is contained in:
parent
9500649c35
commit
1ea8858575
15 changed files with 225 additions and 12 deletions
|
@ -95,6 +95,7 @@ fn parse_table_identifiers() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![]
|
||||
},]
|
||||
|
@ -143,6 +144,31 @@ fn parse_table_identifiers() {
|
|||
test_table_ident("abc5.GROUP", vec![Ident::new("abc5"), Ident::new("GROUP")]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_table_time_travel() {
|
||||
let version = "2023-08-18 23:08:18".to_string();
|
||||
let sql = format!("SELECT 1 FROM t1 FOR SYSTEM_TIME AS OF '{version}'");
|
||||
let select = bigquery().verified_only_select(&sql);
|
||||
assert_eq!(
|
||||
select.from,
|
||||
vec![TableWithJoins {
|
||||
relation: TableFactor::Table {
|
||||
name: ObjectName(vec![Ident::new("t1")]),
|
||||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: Some(TableVersion::ForSystemTimeAsOf(Expr::Value(
|
||||
Value::SingleQuotedString(version)
|
||||
))),
|
||||
},
|
||||
joins: vec![]
|
||||
},]
|
||||
);
|
||||
|
||||
let sql = "SELECT 1 FROM t1 FOR SYSTEM TIME AS OF 'some_timestamp'".to_string();
|
||||
assert!(bigquery().parse_sql_statements(&sql).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_join_constraint_unnest_alias() {
|
||||
assert_eq!(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue