Skip to content

Commit 178a84c

Browse files
Refactor eventhubs peer (#30)
* refactor eventhub peer * lint 1 * remove another vec * make it a list of configs * format test * fmt lint
1 parent 9fbfb42 commit 178a84c

File tree

6 files changed

+52
-21
lines changed

6 files changed

+52
-21
lines changed

src/ast/mod.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -2372,11 +2372,10 @@ pub enum PeerType {
23722372
Mongo,
23732373
Snowflake,
23742374
Postgres,
2375-
EventHub,
2376-
EventHubGroup,
23772375
S3,
23782376
SQLServer,
23792377
Kafka,
2378+
Eventhubs,
23802379
}
23812380

23822381
impl fmt::Display for PeerType {
@@ -2386,11 +2385,10 @@ impl fmt::Display for PeerType {
23862385
PeerType::Mongo => write!(f, "MONGO"),
23872386
PeerType::Snowflake => write!(f, "SNOWFLAKE"),
23882387
PeerType::Postgres => write!(f, "POSTGRES"),
2389-
PeerType::EventHub => write!(f, "EVENTHUB"),
2390-
PeerType::EventHubGroup => write!(f, "EVENTHUBGROUP"),
23912388
PeerType::S3 => write!(f, "S3"),
23922389
PeerType::SQLServer => write!(f, "SQLSERVER"),
23932390
PeerType::Kafka => write!(f, "KAFKA"),
2391+
PeerType::Eventhubs => write!(f, "EVENTHUBS"),
23942392
}
23952393
}
23962394
}

src/keywords.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,7 @@ define_keywords!(
254254
ERROR,
255255
ESCAPE,
256256
EVENT,
257-
EVENTHUB,
258-
EVENTHUBGROUP,
257+
EVENTHUBS,
259258
EVERY,
260259
EXCEPT,
261260
EXCLUDE,

src/parser/mod.rs

+3-6
Original file line numberDiff line numberDiff line change
@@ -8396,18 +8396,16 @@ impl<'a> Parser<'a> {
83968396
Keyword::KAFKA,
83978397
Keyword::S3,
83988398
Keyword::SQLSERVER,
8399-
Keyword::EVENTHUB,
8400-
Keyword::EVENTHUBGROUP,
8399+
Keyword::EVENTHUBS,
84018400
]) {
84028401
Some(Keyword::BIGQUERY) => Ok(PeerType::Bigquery),
84038402
Some(Keyword::MONGO) => Ok(PeerType::Mongo),
84048403
Some(Keyword::SNOWFLAKE) => Ok(PeerType::Snowflake),
84058404
Some(Keyword::POSTGRES) => Ok(PeerType::Postgres),
84068405
Some(Keyword::KAFKA) => Ok(PeerType::Kafka),
84078406
Some(Keyword::S3) => Ok(PeerType::S3),
8408-
Some(Keyword::EVENTHUB) => Ok(PeerType::EventHub),
84098407
Some(Keyword::SQLSERVER) => Ok(PeerType::SQLServer),
8410-
Some(Keyword::EVENTHUBGROUP) => Ok(PeerType::EventHubGroup),
8408+
Some(Keyword::EVENTHUBS) => Ok(PeerType::Eventhubs),
84118409
other => {
84128410
let supported_peer_types = [
84138411
"BIGQUERY",
@@ -8417,8 +8415,7 @@ impl<'a> Parser<'a> {
84178415
"KAFKA",
84188416
"S3",
84198417
"SQLSERVER",
8420-
"EVENTHUB",
8421-
"EVENTHUBGROUP",
8418+
"EVENTHUBS",
84228419
];
84238420
let err = format!(
84248421
"expected peertype as one of {}, got {:#?}",

tests/sqlparser_mysql.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ fn parse_show_extended_full() {
202202
fn parse_show_create() {
203203
let obj_name = ObjectName(vec![Ident::new("myident")]);
204204

205-
for obj_type in &vec![
205+
for obj_type in &[
206206
ShowCreateObject::Table,
207207
ShowCreateObject::Trigger,
208208
ShowCreateObject::Event,

tests/sqlparser_postgres.rs

+44-7
Original file line numberDiff line numberDiff line change
@@ -3415,22 +3415,59 @@ fn parse_create_single_mirror_no_options() {
34153415
}
34163416

34173417
#[test]
3418-
fn parse_create_eventhub_group_peer() {
3419-
match pg()
3420-
.verified_stmt("CREATE PEER eventhub_group_1 FROM EVENTHUBGROUP WITH (customer_1 = true)")
3421-
{
3418+
fn parse_create_eventhubs_peer() {
3419+
match pg().verified_stmt(
3420+
r#"CREATE PEER eventhubs_1 FROM EVENTHUBS WITH (eventhubs = '[
3421+
{
3422+
"subscription_id":"mysubscriptionid1",
3423+
"resource_group":"my-resource-1",
3424+
"namespace":"test-namespace-1",
3425+
"location":"eastus",
3426+
"partition_count":5,
3427+
"message_retention_in_days":2
3428+
},
3429+
{
3430+
"subscription_id":"mysubscriptionid2",
3431+
"resource_group":"my-resource-2",
3432+
"namespace":"test-namespace-2",
3433+
"location":"eastus",
3434+
"partition_count":5,
3435+
"message_retention_in_days":2
3436+
}
3437+
]')"#,
3438+
) {
34223439
Statement::CreatePeer {
34233440
if_not_exists: _,
34243441
peer_name: _,
34253442
peer_type,
34263443
with_options,
34273444
} => {
3428-
assert_eq!(peer_type, PeerType::EventHubGroup);
3445+
assert_eq!(peer_type, PeerType::Eventhubs);
34293446
assert_eq!(
34303447
with_options,
34313448
vec![SqlOption {
3432-
name: Ident::new("customer_1"),
3433-
value: sqlparser::ast::Value::Boolean(true)
3449+
name: Ident::new("eventhubs"),
3450+
value: Value::SingleQuotedString(
3451+
r#"[
3452+
{
3453+
"subscription_id":"mysubscriptionid1",
3454+
"resource_group":"my-resource-1",
3455+
"namespace":"test-namespace-1",
3456+
"location":"eastus",
3457+
"partition_count":5,
3458+
"message_retention_in_days":2
3459+
},
3460+
{
3461+
"subscription_id":"mysubscriptionid2",
3462+
"resource_group":"my-resource-2",
3463+
"namespace":"test-namespace-2",
3464+
"location":"eastus",
3465+
"partition_count":5,
3466+
"message_retention_in_days":2
3467+
}
3468+
]"#
3469+
.into(),
3470+
)
34343471
}]
34353472
);
34363473
}

tests/sqlparser_snowflake.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,7 @@ fn test_snowflake_stage_object_names() {
10311031
"@namespace.stage_name/path",
10321032
"@~/path",
10331033
];
1034-
let mut allowed_object_names = vec![
1034+
let mut allowed_object_names = [
10351035
ObjectName(vec![Ident::new("my_company"), Ident::new("emp_basic")]),
10361036
ObjectName(vec![Ident::new("@namespace"), Ident::new("%table_name")]),
10371037
ObjectName(vec![

0 commit comments

Comments
 (0)