1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
use serde::{Deserialize, Serialize}; use crate::field_type::FieldType; #[derive(Debug, Deserialize, Serialize)] pub struct Column { name: String, t: FieldType } impl Column { pub fn new(name: String, t: FieldType) -> Column { Column { name, t } } pub fn name(&self) -> &String { &self.name } pub fn t(&self) -> &FieldType { &self.t } } #[derive(Debug, Deserialize, Serialize)] pub struct ResultSet { sql: Option<String>, columns: Vec<Column>, data: Vec<Vec<Option<String>>> } impl ResultSet { pub fn new(sql: Option<String>, columns: Vec<Column>, data: Vec<Vec<Option<String>>>) -> ResultSet { ResultSet { sql, columns, data } } pub fn sql(&self) -> &Option<String> { &self.sql } pub fn columns(&self) -> &Vec<Column> { &self.columns } pub fn data(&self) -> &Vec<Vec<Option<String>>> { &self.data } }