Files
dbx/crates/dbx-core/src/database_capabilities.rs
T

40 lines
1.3 KiB
Rust

use crate::agent_catalog;
use crate::models::connection::DatabaseType;
pub fn agent_key(db_type: &DatabaseType, driver_profile: Option<&str>) -> Option<&'static str> {
agent_catalog::agent_key(db_type, driver_profile)
}
pub fn is_agent_type(db_type: &DatabaseType) -> bool {
agent_catalog::is_agent_type(db_type)
}
pub fn is_single_connection_pool(db_type: &DatabaseType) -> bool {
matches!(
db_type,
DatabaseType::Sqlite
| DatabaseType::DuckDb
| DatabaseType::MongoDb
| DatabaseType::Oracle
| DatabaseType::Dameng
| DatabaseType::Kingbase
| DatabaseType::Highgo
| DatabaseType::Vastbase
| DatabaseType::Goldendb
| DatabaseType::Yashandb
| DatabaseType::Firebird
| DatabaseType::Iris
| DatabaseType::OceanbaseOracle
| DatabaseType::Access
| DatabaseType::Jdbc
)
}
pub fn is_metadata_connection_scoped(db_type: &DatabaseType) -> bool {
matches!(db_type, DatabaseType::Mysql | DatabaseType::Doris | DatabaseType::StarRocks)
}
pub fn skips_tcp_probe(db_type: &DatabaseType) -> bool {
matches!(db_type, DatabaseType::Sqlite | DatabaseType::DuckDb | DatabaseType::Jdbc) || is_agent_type(db_type)
}