diff --git a/python/lsst/daf/butler/datastores/inMemoryDatastore.py b/python/lsst/daf/butler/datastores/inMemoryDatastore.py index a09b7d080d..eff6e86d88 100644 --- a/python/lsst/daf/butler/datastores/inMemoryDatastore.py +++ b/python/lsst/daf/butler/datastores/inMemoryDatastore.py @@ -39,6 +39,7 @@ from urllib.parse import urlencode from lsst.daf.butler import DatasetId, DatasetRef, StorageClass +from lsst.daf.butler._exceptions import DatasetTypeNotSupportedError from lsst.daf.butler.datastore import DatasetRefURIs, DatastoreConfig from lsst.daf.butler.datastore.generic_base import GenericBaseDatastore, post_process_get from lsst.daf.butler.datastore.record_data import DatastoreRecordData @@ -407,7 +408,11 @@ def put(self, inMemoryDataset: Any, ref: DatasetRef) -> None: if not delegate or not delegate.can_accept(inMemoryDataset): inMemoryDataset = ref.datasetType.storageClass.coerce_type(inMemoryDataset) - self._validate_put_parameters(inMemoryDataset, ref) + if not self.constraints.isAcceptable(ref): + # Raise rather than use boolean return value. + raise DatasetTypeNotSupportedError( + f"Dataset {ref} has been rejected by this datastore via configuration." + ) self.datasets[ref.id] = inMemoryDataset log.debug("Store %s in %s", ref, self.name)