df-helper 0.2.26

df helper tools db cache
Documentation
use json::{array, JsonValue};
use crate::orm::mode::mysql::Mysql;
use crate::orm::mode::mssql::Mssql;

pub enum Mode {
    Mysql(Mysql),
    Mssql(Mssql),
}

impl Mode {
    pub fn select(&mut self, sql: String, table: String, field: Vec<String>) -> JsonValue {
        match self {
            Mode::Mysql(conn) => {
                return conn.fieldsinfo(table).select(sql, field);
            }
            Mode::Mssql(conn) => {
                return conn.fieldsinfo(table).select(sql, field);
            }
        }
    }
    pub fn insert(&mut self, sql: String) -> JsonValue {
        match self {
            Mode::Mysql(conn) => {
                return conn.insert(sql);
            }
            Mode::Mssql(_conn) => {
                return array![];
            }
        }
    }
    pub fn update(&mut self, sql: String) -> JsonValue {
        match self {
            Mode::Mysql(conn) => {
                return conn.update(sql);
            }
            Mode::Mssql(_dsn) => {
                return array![];
            }
        }
    }
    pub fn delete(&mut self, sql: String) -> JsonValue {
        match self {
            Mode::Mysql(conn) => {
                return conn.delete(sql);
            }
            Mode::Mssql(_dsn) => {
                return array![];
            }
        }
    }
    pub fn aggregate_query(&mut self, mode: &str, sql: String, fields: Vec<String>) -> JsonValue {
        match self {
            Mode::Mysql(conn) => {
                return conn.aggregate_query(mode, sql, fields);
            }
            Mode::Mssql(_dsn) => {
                return array![];
            }
        }
    }
    /// 启动事务
    pub fn transaction(&mut self) -> bool {
        match self {
            Mode::Mysql(conn) => {
                return conn.transaction();
            }
            Mode::Mssql(_dsn) => {
                return false;
            }
        }
    }

    /// 提交事务
    pub fn commit(&mut self) -> bool {
        match self {
            Mode::Mysql(conn) => {
                return conn.commit();
            }
            Mode::Mssql(_dsn) => {
                return false;
            }
        }
    }

    /// 回滚事务
    pub fn rollback(&mut self) -> bool {
        match self {
            Mode::Mysql(conn) => {
                return conn.rollback();
            }
            Mode::Mssql(_dsn) => {
                return false;
            }
        }
    }
    /// 获取字段
    pub fn fieldsinfo(&mut self, table: &str) -> JsonValue {
        match self {
            Mode::Mysql(conn) => {
                return conn.fieldsinfo(table.to_string()).fields[table].clone();
            }
            Mode::Mssql(_dsn) => {
                return array![];
            }
        }
    }
    /// 查询数据表是否存在
    pub fn query_table(&mut self, table: &str)->bool{
        match self {
            Mode::Mysql(conn) => {
                return conn.query_table(table);
            }
            Mode::Mssql(_dsn) => {
                return true;
            }
        }
    }
    /// 创建数据表
    pub fn create_table(&mut self, sql: &str)->bool{
        match self {
            Mode::Mysql(conn) => {
                return conn.create_table(sql);
            }
            Mode::Mssql(_dsn) => {
                return true;
            }
        }
    }
    /// 删除数据表
    pub fn delete_table(&mut self, sql: &str)->bool{
        match self {
            Mode::Mysql(conn) => {
                return conn.delete_table(sql);
            }
            Mode::Mssql(_dsn) => {
                return true;
            }
        }
    }
    /// 更新数据表
    pub fn update_table(&mut self, sql: &str)->bool{
        match self {
            Mode::Mysql(conn) => {
                return conn.update_table(sql);
            }
            Mode::Mssql(_dsn) => {
                return true;
            }
        }
    }
}