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
use crate::mysql::def::*;
use crate::mysql::query::TableQueryResult;
use crate::Name;

impl TableQueryResult {
    pub fn parse(self) -> TableInfo {
        parse_table_query_result(self)
    }
}

pub fn parse_table_query_result(result: TableQueryResult) -> TableInfo {
    TableInfo {
        name: result.table_name,
        engine: parse_table_engine(result.engine.as_str()),
        auto_increment: result.auto_increment,
        collation: parse_table_collation(result.table_collation.as_str()),
        comment: result.table_comment,
    }
}

pub fn parse_table_engine(string: &str) -> StorageEngine {
    StorageEngine::from_str(string).unwrap()
}

pub fn parse_table_collation(string: &str) -> Collation {
    Collation::from_str(string).unwrap()
}