Skip to content

Commit

Permalink
feat(tests): parse_cast tests for LOB, BINARY datatype
Browse files Browse the repository at this point in the history
  • Loading branch information
ding-young committed Sep 28, 2022
1 parent d4e47fc commit dfadc85
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions tests/sqlparser_common.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1647,6 +1647,46 @@ fn parse_cast() {
},
expr_from_projection(only(&select.projection))
);

let sql = "SELECT CAST(id AS CLOB(50)) FROM customer";
let select = verified_only_select(sql);
assert_eq!(
&Expr::Cast {
expr: Box::new(Expr::Identifier(Ident::new("id"))),
data_type: DataType::Clob(50)
},
expr_from_projection(only(&select.projection))
);

let sql = "SELECT CAST(id AS BINARY(50)) FROM customer";
let select = verified_only_select(sql);
assert_eq!(
&Expr::Cast {
expr: Box::new(Expr::Identifier(Ident::new("id"))),
data_type: DataType::Binary(50)
},
expr_from_projection(only(&select.projection))
);

let sql = "SELECT CAST(id AS VARBINARY(50)) FROM customer";
let select = verified_only_select(sql);
assert_eq!(
&Expr::Cast {
expr: Box::new(Expr::Identifier(Ident::new("id"))),
data_type: DataType::Varbinary(50)
},
expr_from_projection(only(&select.projection))
);

let sql = "SELECT CAST(id AS BLOB(50)) FROM customer";
let select = verified_only_select(sql);
assert_eq!(
&Expr::Cast {
expr: Box::new(Expr::Identifier(Ident::new("id"))),
data_type: DataType::Blob(50)
},
expr_from_projection(only(&select.projection))
);
}

#[test]
Expand Down

0 comments on commit dfadc85

Please sign in to comment.