Skip to main content

sqlx_mssql_odbc_core/
column.rs

1use crate::{Mssql, MssqlTypeInfo};
2
3/// Column metadata for an MSSQL result set via ODBC.
4#[derive(Debug, Clone, PartialEq, Eq)]
5#[cfg_attr(feature = "offline", derive(serde::Serialize, serde::Deserialize))]
6pub struct MssqlColumn {
7    ordinal: usize,
8    name: String,
9    type_info: MssqlTypeInfo,
10}
11
12impl MssqlColumn {
13    /// Creates column metadata.
14    pub fn new(ordinal: usize, name: impl Into<String>, type_info: MssqlTypeInfo) -> Self {
15        Self {
16            ordinal,
17            name: name.into(),
18            type_info,
19        }
20    }
21}
22
23impl sqlx_core::column::Column for MssqlColumn {
24    type Database = Mssql;
25
26    fn ordinal(&self) -> usize {
27        self.ordinal
28    }
29
30    fn name(&self) -> &str {
31        &self.name
32    }
33
34    fn type_info(&self) -> &MssqlTypeInfo {
35        &self.type_info
36    }
37}