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