diff --git a/src/dve/core_engine/backends/implementations/duckdb/contract.py b/src/dve/core_engine/backends/implementations/duckdb/contract.py index d9bb9bc..90bb02e 100644 --- a/src/dve/core_engine/backends/implementations/duckdb/contract.py +++ b/src/dve/core_engine/backends/implementations/duckdb/contract.py @@ -143,7 +143,7 @@ def apply_data_contract( if relation_is_empty(relation): self.logger.warning(f"+ Empty relation for {entity_name}") empty_df = pl.DataFrame([], schema=polars_schema) # type: ignore # pylint: disable=W0612 - relation = self._connection.sql("select * from empty_df") + entities[entity_name] = self._connection.sql("select * from empty_df") continue self.logger.info(f"+ Applying contract to: {entity_name}") diff --git a/src/dve/pipeline/pipeline.py b/src/dve/pipeline/pipeline.py index 53185a0..85e516d 100644 --- a/src/dve/pipeline/pipeline.py +++ b/src/dve/pipeline/pipeline.py @@ -661,6 +661,7 @@ def apply_business_rules( # pylint: disable=R0914,R0915 submission_status.validation_failed = True elif not rules_success: submission_status.processing_failed = True + return submission_info, submission_status for entity_name, entity in entity_manager.entities.items(): # Note BI filtering done within the apply_rules