Skip to main content

rbdc_pg/
meta_data.rs

1use crate::statement::PgStatementMetadata;
2use std::fmt::Debug;
3use std::sync::Arc;
4
5#[derive(Debug)]
6pub struct PgMetaData {
7    pub metadata: Arc<PgStatementMetadata>,
8}
9
10impl rbdc::db::MetaData for PgMetaData {
11    fn column_len(&self) -> usize {
12        self.metadata.columns.len()
13    }
14
15    fn column_name(&self, i: usize) -> String {
16        for (s, idx) in &self.metadata.column_names {
17            if idx.eq(&i) {
18                return s.to_string();
19            }
20        }
21        return String::new();
22    }
23
24    fn column_type(&self, i: usize) -> String {
25        self.metadata.columns[i].name.to_string()
26    }
27}