Skip to content

Commit 5b9b642

Browse files
authored
fix: check if eligible to read (delta-io#3771)
# Description - closes delta-io#3765 Signed-off-by: Ion Koutsouris <15728914+ion-elgreco@users.noreply.github.com>
1 parent bcb37b3 commit 5b9b642

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

crates/core/src/delta_datafusion/table_provider.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ use crate::delta_datafusion::{
5757
LogDataHandler,
5858
};
5959
use crate::kernel::schema::cast::cast_record_batch;
60-
use crate::kernel::transaction::CommitBuilder;
60+
use crate::kernel::transaction::{CommitBuilder, PROTOCOL};
6161
use crate::kernel::{Action, Add, Remove};
6262
use crate::operations::write::writer::{DeltaWriter, WriterConfig};
6363
use crate::operations::write::WriterStatsConfig;
@@ -451,6 +451,7 @@ impl<'a> DeltaScanBuilder<'a> {
451451
}
452452

453453
pub async fn build(self) -> DeltaResult<DeltaScan> {
454+
PROTOCOL.can_read_from(self.snapshot)?;
454455
let config = match self.config {
455456
Some(config) => config,
456457
None => DeltaScanConfigBuilder::new().build(self.snapshot)?,

crates/core/src/operations/load_cdf.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ use tracing::log;
3232

3333
use crate::delta_datafusion::{register_store, DataFusionMixins};
3434
use crate::errors::DeltaResult;
35+
use crate::kernel::transaction::PROTOCOL;
3536
use crate::kernel::{Action, Add, AddCDCFile, CommitInfo};
3637
use crate::logstore::{get_actions, LogStoreRef};
3738
use crate::table::state::DeltaTableState;
@@ -328,6 +329,8 @@ impl CdfLoadBuilder {
328329
session_sate: &SessionState,
329330
filters: Option<&Arc<dyn PhysicalExpr>>,
330331
) -> DeltaResult<Arc<dyn ExecutionPlan>> {
332+
PROTOCOL.can_read_from(&self.snapshot)?;
333+
331334
let (cdc, add, remove) = self.determine_files_to_read().await?;
332335
register_store(self.log_store.clone(), session_sate.runtime_env().clone());
333336

0 commit comments

Comments
 (0)