Skip to content

Commit 0b2718a

Browse files
committed
Refactor
1 parent 2f0667e commit 0b2718a

3 files changed

Lines changed: 423 additions & 502 deletions

File tree

core/src/mongodb.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@ pub mod connection;
22
pub mod connection_pool;
33
pub mod table;
44
pub mod utils;
5-
pub mod write;
65

76
use crate::mongodb::connection_pool::MongoDBConnectionPool;
87
use crate::mongodb::table::MongoDBTable;
9-
use crate::mongodb::write::MongoDBTableWriter;
108
use arrow_schema::ArrowError;
119
use datafusion::datasource::TableProvider;
1210
use datafusion::sql::TableReference;
@@ -92,11 +90,12 @@ impl MongoDBTableFactory {
9290
&self,
9391
table_reference: TableReference,
9492
) -> Result<Arc<dyn TableProvider + 'static>, Box<dyn std::error::Error + Send + Sync>> {
95-
let read_provider = self.table_provider(table_reference.clone()).await?;
96-
Ok(MongoDBTableWriter::create(
97-
read_provider,
98-
Arc::clone(&self.pool),
99-
table_reference,
100-
))
93+
let pool = Arc::clone(&self.pool);
94+
let table_provider = Arc::new(
95+
MongoDBTable::new_writeable(&pool, table_reference)
96+
.await
97+
.map_err(|e| Box::new(e) as Box<dyn std::error::Error + Send + Sync>)?,
98+
);
99+
Ok(table_provider)
101100
}
102101
}

0 commit comments

Comments
 (0)