mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-24 07:54:06 +00:00
parent
3e94877f03
commit
a5bbb5e8ac
5 changed files with 116 additions and 9 deletions
|
@ -26,7 +26,7 @@ use helpers::attached_token::AttachedToken;
|
|||
use sqlparser::tokenizer::Span;
|
||||
use test_utils::*;
|
||||
|
||||
use sqlparser::ast::DataType::{Int, Text};
|
||||
use sqlparser::ast::DataType::{Int, Text, Varbinary};
|
||||
use sqlparser::ast::DeclareAssignment::MsSqlAssignment;
|
||||
use sqlparser::ast::Value::SingleQuotedString;
|
||||
use sqlparser::ast::*;
|
||||
|
@ -1796,6 +1796,59 @@ fn parse_mssql_set_session_value() {
|
|||
ms().verified_stmt("SET ANSI_NULLS, ANSI_PADDING ON");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_mssql_varbinary_max_length() {
|
||||
let sql = "CREATE TABLE example (var_binary_col VARBINARY(MAX))";
|
||||
|
||||
match ms_and_generic().verified_stmt(sql) {
|
||||
Statement::CreateTable(CreateTable { name, columns, .. }) => {
|
||||
assert_eq!(
|
||||
name,
|
||||
ObjectName::from(vec![Ident {
|
||||
value: "example".to_string(),
|
||||
quote_style: None,
|
||||
span: Span::empty(),
|
||||
}])
|
||||
);
|
||||
assert_eq!(
|
||||
columns,
|
||||
vec![ColumnDef {
|
||||
name: Ident::new("var_binary_col"),
|
||||
data_type: Varbinary(Some(BinaryLength::Max)),
|
||||
collation: None,
|
||||
options: vec![]
|
||||
},],
|
||||
);
|
||||
}
|
||||
_ => unreachable!(),
|
||||
}
|
||||
|
||||
let sql = "CREATE TABLE example (var_binary_col VARBINARY(50))";
|
||||
|
||||
match ms_and_generic().verified_stmt(sql) {
|
||||
Statement::CreateTable(CreateTable { name, columns, .. }) => {
|
||||
assert_eq!(
|
||||
name,
|
||||
ObjectName::from(vec![Ident {
|
||||
value: "example".to_string(),
|
||||
quote_style: None,
|
||||
span: Span::empty(),
|
||||
}])
|
||||
);
|
||||
assert_eq!(
|
||||
columns,
|
||||
vec![ColumnDef {
|
||||
name: Ident::new("var_binary_col"),
|
||||
data_type: Varbinary(Some(BinaryLength::IntegerLength { length: 50 })),
|
||||
collation: None,
|
||||
options: vec![]
|
||||
},],
|
||||
);
|
||||
}
|
||||
_ => unreachable!(),
|
||||
}
|
||||
}
|
||||
|
||||
fn ms() -> TestedDialects {
|
||||
TestedDialects::new(vec![Box::new(MsSqlDialect {})])
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue