mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-03 13:58:15 +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
|
@ -214,6 +214,7 @@ fn parse_update_set_from() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -240,6 +241,7 @@ fn parse_update_set_from() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -303,6 +305,7 @@ fn parse_update_with_table_alias() {
|
|||
}),
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -365,6 +368,7 @@ fn parse_select_with_table_alias() {
|
|||
}),
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}]
|
||||
|
@ -395,6 +399,7 @@ fn parse_delete_statement() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
from[0].relation
|
||||
);
|
||||
|
@ -422,6 +427,7 @@ fn parse_delete_statement_for_multi_tables() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
from[0].relation
|
||||
);
|
||||
|
@ -431,6 +437,7 @@ fn parse_delete_statement_for_multi_tables() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
from[0].joins[0].relation
|
||||
);
|
||||
|
@ -454,6 +461,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
from[0].relation
|
||||
);
|
||||
|
@ -463,6 +471,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
from[1].relation
|
||||
);
|
||||
|
@ -472,6 +481,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
using[0].relation
|
||||
);
|
||||
|
@ -481,6 +491,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
using[0].joins[0].relation
|
||||
);
|
||||
|
@ -508,6 +519,7 @@ fn parse_where_delete_statement() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
from[0].relation,
|
||||
);
|
||||
|
@ -549,6 +561,7 @@ fn parse_where_delete_with_alias_statement() {
|
|||
}),
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
from[0].relation,
|
||||
);
|
||||
|
@ -562,6 +575,7 @@ fn parse_where_delete_with_alias_statement() {
|
|||
}),
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}]),
|
||||
|
@ -3564,6 +3578,7 @@ fn test_parse_named_window() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -3902,6 +3917,7 @@ fn parse_interval_and_or_xor() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -4506,6 +4522,7 @@ fn parse_implicit_join() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -4515,6 +4532,7 @@ fn parse_implicit_join() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -4532,6 +4550,7 @@ fn parse_implicit_join() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![Join {
|
||||
relation: TableFactor::Table {
|
||||
|
@ -4539,6 +4558,7 @@ fn parse_implicit_join() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
join_operator: JoinOperator::Inner(JoinConstraint::Natural),
|
||||
}],
|
||||
|
@ -4549,6 +4569,7 @@ fn parse_implicit_join() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![Join {
|
||||
relation: TableFactor::Table {
|
||||
|
@ -4556,6 +4577,7 @@ fn parse_implicit_join() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
join_operator: JoinOperator::Inner(JoinConstraint::Natural),
|
||||
}],
|
||||
|
@ -4576,6 +4598,7 @@ fn parse_cross_join() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
join_operator: JoinOperator::CrossJoin,
|
||||
},
|
||||
|
@ -4596,6 +4619,7 @@ fn parse_joins_on() {
|
|||
alias,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
join_operator: f(JoinConstraint::On(Expr::BinaryOp {
|
||||
left: Box::new(Expr::Identifier("c1".into())),
|
||||
|
@ -4665,6 +4689,7 @@ fn parse_joins_using() {
|
|||
alias,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
join_operator: f(JoinConstraint::Using(vec!["c1".into()])),
|
||||
}
|
||||
|
@ -4726,6 +4751,7 @@ fn parse_natural_join() {
|
|||
alias,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
join_operator: f(JoinConstraint::Natural),
|
||||
}
|
||||
|
@ -4990,6 +5016,7 @@ fn parse_derived_tables() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
join_operator: JoinOperator::Inner(JoinConstraint::Natural),
|
||||
}],
|
||||
|
@ -6317,6 +6344,7 @@ fn parse_merge() {
|
|||
}),
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
}
|
||||
);
|
||||
assert_eq!(table, table_no_into);
|
||||
|
@ -6340,6 +6368,7 @@ fn parse_merge() {
|
|||
alias: None,
|
||||
args: None,
|
||||
with_hints: vec![],
|
||||
version: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue