Skip to content

Commit

Permalink
add mssql tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Weakky committed Jul 22, 2024
1 parent edd0a60 commit a3bb63c
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
3 changes: 0 additions & 3 deletions quaint/src/connector/column_type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ pub enum ColumnType {
DateArray,
TimeArray,

Null,

Unknown,
}

Expand Down Expand Up @@ -83,7 +81,6 @@ impl std::fmt::Display for ColumnType {
ColumnType::DateTimeArray => write!(f, "datetime-array"),
ColumnType::DateArray => write!(f, "date-array"),
ColumnType::TimeArray => write!(f, "time-array"),
ColumnType::Null => write!(f, "null"),

ColumnType::Unknown => write!(f, "unknown"),
}
Expand Down
5 changes: 3 additions & 2 deletions quaint/src/connector/mssql/native/column_type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@ use tiberius::{Column, ColumnType as MssqlColumnType};
impl From<&Column> for ColumnType {
fn from(value: &Column) -> Self {
match value.column_type() {
MssqlColumnType::Null => ColumnType::Null,
MssqlColumnType::Null => ColumnType::Unknown,

MssqlColumnType::BigVarChar
| MssqlColumnType::BigChar
| MssqlColumnType::NVarchar
| MssqlColumnType::NChar
| MssqlColumnType::Text
| MssqlColumnType::NText => ColumnType::Text,
MssqlColumnType::Xml => ColumnType::Text,

MssqlColumnType::Xml => ColumnType::Xml,

MssqlColumnType::Bit | MssqlColumnType::Bitn => ColumnType::Boolean,
MssqlColumnType::Int1 | MssqlColumnType::Int2 | MssqlColumnType::Int4 => ColumnType::Int32,
Expand Down
17 changes: 17 additions & 0 deletions quaint/src/tests/types/mssql.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ mod bigdecimal;

use crate::macros::assert_matching_value_and_column_type;
use crate::{connector::ColumnType, tests::test_api::*};
use std::str::FromStr;

test_type!(nvarchar_limited(
mssql,
Expand Down Expand Up @@ -225,3 +226,19 @@ test_type!(smalldatetime(
Value::datetime(dt.with_timezone(&chrono::Utc))
}
));

test_type!(uuid(
mssql,
"uniqueidentifier",
ColumnType::Uuid,
Value::null_uuid(),
Value::uuid(uuid::Uuid::from_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap())
));

test_type!(xml(
mssql,
"xml",
ColumnType::Xml,
Value::null_xml(),
Value::xml("<foo>bar</foo>"),
));

0 comments on commit a3bb63c

Please sign in to comment.