Skip to content

Commit def916c

Browse files
committed
Add test for multiple array access
1 parent 1ac89af commit def916c

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tests/sqlparser_postgres.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2054,6 +2054,34 @@ fn parse_array_subscript() {
20542054
pg_and_generic().verified_expr("schedule[:2][2:]");
20552055
}
20562056

2057+
#[test]
2058+
fn parse_array_multi_subscript() {
2059+
let expr = pg_and_generic().verified_expr("make_array(1, 2, 3)[1:2][2]");
2060+
assert_eq!(
2061+
Expr::Subscript {
2062+
expr: Box::new(Expr::Subscript {
2063+
expr: Box::new(call(
2064+
"make_array",
2065+
vec![
2066+
Expr::Value(number("1")),
2067+
Expr::Value(number("2")),
2068+
Expr::Value(number("3"))
2069+
]
2070+
)),
2071+
subscript: Box::new(Subscript::Slice {
2072+
lower_bound: Some(Expr::Value(number("1"))),
2073+
upper_bound: Some(Expr::Value(number("2"))),
2074+
stride: None,
2075+
}),
2076+
}),
2077+
subscript: Box::new(Subscript::Index {
2078+
index: Expr::Value(number("2")),
2079+
}),
2080+
},
2081+
expr,
2082+
);
2083+
}
2084+
20572085
#[test]
20582086
fn parse_create_index() {
20592087
let sql = "CREATE INDEX IF NOT EXISTS my_index ON my_table(col1,col2)";

0 commit comments

Comments
 (0)