Skip to content

Commit 5d92949

Browse files
committed
Fix review comment
1 parent b66a377 commit 5d92949

File tree

1 file changed

+27
-30
lines changed

1 file changed

+27
-30
lines changed

tests/sqlparser_bigquery.rs

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -635,35 +635,6 @@ fn parse_nested_data_types() {
635635
}
636636
}
637637

638-
#[test]
639-
fn parse_invalid_brackets() {
640-
let sql = "SELECT STRUCT<INT64>>(NULL)";
641-
assert_eq!(
642-
bigquery_and_generic()
643-
.parse_sql_statements(sql)
644-
.unwrap_err(),
645-
ParserError::ParserError("unmatched > in STRUCT literal".to_string())
646-
);
647-
648-
let sql = "SELECT STRUCT<STRUCT<INT64>>>(NULL)";
649-
assert_eq!(
650-
bigquery_and_generic()
651-
.parse_sql_statements(sql)
652-
.unwrap_err(),
653-
ParserError::ParserError("Expected: (, found: >".to_string())
654-
);
655-
656-
let sql = "CREATE TABLE table (x STRUCT<STRUCT<INT64>>>)";
657-
assert_eq!(
658-
bigquery_and_generic()
659-
.parse_sql_statements(sql)
660-
.unwrap_err(),
661-
ParserError::ParserError(
662-
"Expected: ',' or ')' after column definition, found: >".to_string()
663-
)
664-
);
665-
}
666-
667638
#[test]
668639
fn parse_tuple_struct_literal() {
669640
// tuple syntax: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#tuple_syntax
@@ -2474,7 +2445,7 @@ fn test_struct_field_options() {
24742445
}
24752446

24762447
#[test]
2477-
fn test_struct_trailing_bracket() {
2448+
fn test_struct_trailing_and_nested_bracket() {
24782449
bigquery().verified_stmt(concat!(
24792450
"CREATE TABLE my_table (",
24802451
"f0 STRING, ",
@@ -2520,4 +2491,30 @@ fn test_struct_trailing_bracket() {
25202491
.parse_sql_statements("CREATE TABLE my_table(f1 STRUCT<a STRUCT<b INT>>>, c INT64)")
25212492
.unwrap_err()
25222493
);
2494+
2495+
let sql = "SELECT STRUCT<INT64>>(NULL)";
2496+
assert_eq!(
2497+
bigquery_and_generic()
2498+
.parse_sql_statements(sql)
2499+
.unwrap_err(),
2500+
ParserError::ParserError("unmatched > in STRUCT literal".to_string())
2501+
);
2502+
2503+
let sql = "SELECT STRUCT<STRUCT<INT64>>>(NULL)";
2504+
assert_eq!(
2505+
bigquery_and_generic()
2506+
.parse_sql_statements(sql)
2507+
.unwrap_err(),
2508+
ParserError::ParserError("Expected: (, found: >".to_string())
2509+
);
2510+
2511+
let sql = "CREATE TABLE table (x STRUCT<STRUCT<INT64>>>)";
2512+
assert_eq!(
2513+
bigquery_and_generic()
2514+
.parse_sql_statements(sql)
2515+
.unwrap_err(),
2516+
ParserError::ParserError(
2517+
"Expected: ',' or ')' after column definition, found: >".to_string()
2518+
)
2519+
);
25232520
}

0 commit comments

Comments
 (0)