Skip to content

Commit e31e478

Browse files
committed
Raise an error if method is not implemented when it is expected
1 parent 64dcbd3 commit e31e478

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/context.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use object_store::ObjectStore;
2828
use url::Url;
2929
use uuid::Uuid;
3030

31-
use pyo3::exceptions::{PyKeyError, PyTypeError, PyValueError};
31+
use pyo3::exceptions::{PyKeyError, PyNotImplementedError, PyTypeError, PyValueError};
3232
use pyo3::prelude::*;
3333

3434
use crate::catalog::{PyCatalog, PyTable};
@@ -582,8 +582,13 @@ impl PySessionContext {
582582
let provider: ForeignTableProvider = provider.into();
583583

584584
let _ = self.ctx.register_table(name, Arc::new(provider))?;
585+
586+
Ok(())
587+
} else {
588+
Err(PyNotImplementedError::new_err(
589+
"__datafusion_table_provider__ does not exist on Table Provider object.",
590+
))
585591
}
586-
Ok(())
587592
}
588593

589594
pub fn register_record_batches(

0 commit comments

Comments
 (0)