PartiQL queries in Redshift (#1534)

This commit is contained in:
Yoav Cohen 2024-11-23 13:14:38 +01:00 committed by GitHub
parent 10519003ed
commit 62fa8604af
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 254 additions and 10 deletions

View file

@ -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) {