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}