pub mod iceberg;
pub mod knn_utils;
pub mod lance;
pub mod mongo;
pub mod mysql;
pub mod mysql_wire;
pub mod redis;
pub mod seekdb;
pub mod sqlite;
pub mod sqlx;
use ::lance::dataset::Dataset;
use std::collections::HashMap;
use std::sync::{Arc, RwLock};
use mongo::fts_table_function::MongoFtsEntry;
use seekdb::knn_table_function::SeekDbKnnEntry;
use sqlite::knn_table_function::SqliteEntry;
use sqlx::pg::knn_table_function::PgKnnEntry;
#[derive(Clone, Debug)]
pub enum DatasetEntry {
Lance(Arc<Dataset>),
Postgres(PgKnnEntry),
Mongo(MongoFtsEntry),
Sqlite(SqliteEntry),
Seekdb(SeekDbKnnEntry),
}
pub type DatasetRegistry = Arc<RwLock<HashMap<String, DatasetEntry>>>;