sqlx_core_oldapi/sqlite/
column.rs

1use crate::column::Column;
2use crate::ext::ustr::UStr;
3use crate::sqlite::{Sqlite, SqliteTypeInfo};
4
5#[derive(Debug, Clone)]
6#[cfg_attr(feature = "offline", derive(serde::Serialize, serde::Deserialize))]
7pub struct SqliteColumn {
8    pub(crate) name: UStr,
9    pub(crate) ordinal: usize,
10    pub(crate) type_info: SqliteTypeInfo,
11}
12
13impl crate::column::private_column::Sealed for SqliteColumn {}
14
15impl Column for SqliteColumn {
16    type Database = Sqlite;
17
18    fn ordinal(&self) -> usize {
19        self.ordinal
20    }
21
22    fn name(&self) -> &str {
23        &*self.name
24    }
25
26    fn type_info(&self) -> &SqliteTypeInfo {
27        &self.type_info
28    }
29}
30
31#[cfg(feature = "any")]
32impl From<SqliteColumn> for crate::any::AnyColumn {
33    #[inline]
34    fn from(column: SqliteColumn) -> Self {
35        crate::any::AnyColumn {
36            type_info: column.type_info.clone().into(),
37            kind: crate::any::column::AnyColumnKind::Sqlite(column),
38        }
39    }
40}