sqlx_build_trust_postgres/
column.rs

1use crate::ext::ustr::UStr;
2use crate::{PgTypeInfo, Postgres};
3
4pub(crate) use sqlx_core::column::{Column, ColumnIndex};
5
6#[derive(Debug, Clone)]
7#[cfg_attr(feature = "offline", derive(serde::Serialize, serde::Deserialize))]
8pub struct PgColumn {
9    pub(crate) ordinal: usize,
10    pub(crate) name: UStr,
11    pub(crate) type_info: PgTypeInfo,
12    #[cfg_attr(feature = "offline", serde(skip))]
13    pub(crate) relation_id: Option<i32>,
14    #[cfg_attr(feature = "offline", serde(skip))]
15    pub(crate) relation_attribute_no: Option<i16>,
16}
17
18impl Column for PgColumn {
19    type Database = Postgres;
20
21    fn ordinal(&self) -> usize {
22        self.ordinal
23    }
24
25    fn name(&self) -> &str {
26        &*self.name
27    }
28
29    fn type_info(&self) -> &PgTypeInfo {
30        &self.type_info
31    }
32}