mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-04 06:18:17 +00:00
PartiQL queries in Redshift (#1534)
This commit is contained in:
parent
10519003ed
commit
62fa8604af
17 changed files with 254 additions and 10 deletions
|
@ -364,6 +364,7 @@ fn parse_update_set_from() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -394,6 +395,7 @@ fn parse_update_set_from() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -473,6 +475,7 @@ fn parse_update_with_table_alias() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -564,6 +567,7 @@ fn parse_select_with_table_alias() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}]
|
||||
|
@ -601,6 +605,7 @@ fn parse_delete_statement() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
from[0].relation
|
||||
);
|
||||
|
@ -648,6 +653,7 @@ fn parse_delete_statement_for_multi_tables() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
from[0].relation
|
||||
);
|
||||
|
@ -660,6 +666,7 @@ fn parse_delete_statement_for_multi_tables() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
from[0].joins[0].relation
|
||||
);
|
||||
|
@ -686,6 +693,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
from[0].relation
|
||||
);
|
||||
|
@ -698,6 +706,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
from[1].relation
|
||||
);
|
||||
|
@ -710,6 +719,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
using[0].relation
|
||||
);
|
||||
|
@ -722,6 +732,7 @@ fn parse_delete_statement_for_multi_tables_with_using() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
using[0].joins[0].relation
|
||||
);
|
||||
|
@ -753,6 +764,7 @@ fn parse_where_delete_statement() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
from[0].relation,
|
||||
);
|
||||
|
@ -798,6 +810,7 @@ fn parse_where_delete_with_alias_statement() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
from[0].relation,
|
||||
);
|
||||
|
@ -814,6 +827,7 @@ fn parse_where_delete_with_alias_statement() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}]),
|
||||
|
@ -4718,6 +4732,7 @@ fn test_parse_named_window() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -5301,6 +5316,7 @@ fn parse_interval_and_or_xor() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -5912,6 +5928,7 @@ fn parse_implicit_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -5924,6 +5941,7 @@ fn parse_implicit_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
},
|
||||
|
@ -5944,6 +5962,7 @@ fn parse_implicit_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![Join {
|
||||
relation: TableFactor::Table {
|
||||
|
@ -5954,6 +5973,7 @@ fn parse_implicit_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
global: false,
|
||||
join_operator: JoinOperator::Inner(JoinConstraint::Natural),
|
||||
|
@ -5968,6 +5988,7 @@ fn parse_implicit_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![Join {
|
||||
relation: TableFactor::Table {
|
||||
|
@ -5978,6 +5999,7 @@ fn parse_implicit_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
global: false,
|
||||
join_operator: JoinOperator::Inner(JoinConstraint::Natural),
|
||||
|
@ -6002,6 +6024,7 @@ fn parse_cross_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
global: false,
|
||||
join_operator: JoinOperator::CrossJoin,
|
||||
|
@ -6027,6 +6050,7 @@ fn parse_joins_on() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
global,
|
||||
join_operator: f(JoinConstraint::On(Expr::BinaryOp {
|
||||
|
@ -6154,6 +6178,7 @@ fn parse_joins_using() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
global: false,
|
||||
join_operator: f(JoinConstraint::Using(vec!["c1".into()])),
|
||||
|
@ -6227,6 +6252,7 @@ fn parse_natural_join() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
global: false,
|
||||
join_operator: f(JoinConstraint::Natural),
|
||||
|
@ -6496,6 +6522,7 @@ fn parse_derived_tables() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
global: false,
|
||||
join_operator: JoinOperator::Inner(JoinConstraint::Natural),
|
||||
|
@ -7443,6 +7470,7 @@ fn lateral_function() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![Join {
|
||||
relation: TableFactor::Function {
|
||||
|
@ -8258,6 +8286,7 @@ fn parse_merge() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
}
|
||||
);
|
||||
assert_eq!(table, table_no_into);
|
||||
|
@ -8285,6 +8314,7 @@ fn parse_merge() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -9359,6 +9389,7 @@ fn parse_pivot_table() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
}),
|
||||
aggregate_functions: vec![
|
||||
expected_function("a", None),
|
||||
|
@ -9432,6 +9463,7 @@ fn parse_unpivot_table() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
}),
|
||||
value: Ident {
|
||||
value: "quantity".to_string(),
|
||||
|
@ -9499,6 +9531,7 @@ fn parse_pivot_unpivot_table() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
}),
|
||||
value: Ident {
|
||||
value: "population".to_string(),
|
||||
|
@ -9910,6 +9943,7 @@ fn parse_unload() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -10089,6 +10123,7 @@ fn parse_connect_by() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -10176,6 +10211,7 @@ fn parse_connect_by() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
},
|
||||
joins: vec![],
|
||||
}],
|
||||
|
@ -10337,6 +10373,7 @@ fn test_match_recognize() {
|
|||
version: None,
|
||||
partitions: vec![],
|
||||
with_ordinality: false,
|
||||
json_path: None,
|
||||
};
|
||||
|
||||
fn check(options: &str, expect: TableFactor) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue