sqlx_core_oldapi/sqlite/
column.rs1use 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}