DatasetRecordStorage¶
- 
class lsst.daf.butler.registry.interfaces.DatasetRecordStorage(datasetType: lsst.daf.butler.core.datasets.type.DatasetType)¶
- Bases: - abc.ABC- An interface that manages the records associated with a particular - DatasetType.- Parameters: - datasetType : DatasetType
- Dataset type whose records this object manages. 
 - Methods Summary - associate(collection, datasets)- Associate one or more datasets with a collection. - delete(datasets)- Fully delete the given datasets from the registry. - disassociate(collection, datasets)- Remove one or more datasets from a collection. - find(collection, dataId)- Search a collection for a dataset with the given data ID. - insert(run, dataIds)- Insert one or more dataset entries into the database. - select(collection, dataId, id, run)- Return a SQLAlchemy object that represents a - SELECTquery for this- DatasetType.- Methods Documentation - 
associate(collection: CollectionRecord, datasets: Iterable[DatasetRef]) → None¶
- Associate one or more datasets with a collection. - Parameters: - collection : CollectionRecord
- The record object describing the collection. - collection.typemust be- TAGGED.
- datasets : Iterable[DatasetRef]
- Datasets to be associated. All datasets must be resolved and have the same - DatasetTypeas- self.
 - Raises: - AmbiguousDatasetError
- Raised if any of the given - DatasetRefinstances is unresolved.
 - Notes - Associating a dataset with into collection that already contains a different dataset with the same - DatasetTypeand data ID will remove the existing dataset from that collection.- Associating the same dataset into a collection multiple times is a no-op, but is still not permitted on read-only databases. 
- collection : 
 - 
delete(datasets: Iterable[lsst.daf.butler.core.datasets.ref.DatasetRef]) → None¶
- Fully delete the given datasets from the registry. - Parameters: - datasets : Iterable[DatasetRef]
- Datasets to be deleted. All datasets must be resolved and have the same - DatasetTypeas- self.
 - Raises: - AmbiguousDatasetError
- Raised if any of the given - DatasetRefinstances is unresolved.
 
- datasets : 
 - 
disassociate(collection: CollectionRecord, datasets: Iterable[DatasetRef]) → None¶
- Remove one or more datasets from a collection. - Parameters: - collection : CollectionRecord
- The record object describing the collection. - collection.typemust be- TAGGED.
- datasets : Iterable[DatasetRef]
- Datasets to be disassociated. All datasets must be resolved and have the same - DatasetTypeas- self.
 - Raises: - AmbiguousDatasetError
- Raised if any of the given - DatasetRefinstances is unresolved.
 
- collection : 
 - 
find(collection: CollectionRecord, dataId: DataCoordinate) → Optional[DatasetRef]¶
- Search a collection for a dataset with the given data ID. - Parameters: - collection : CollectionRecord
- The record object describing the collection to search for the dataset. May have any - CollectionType.
- dataId: `DataCoordinate`
- Complete (but not necessarily expanded) data ID to search with, with - dataId.graph == self.datasetType.dimensions.
 - Returns: - ref : DatasetRef
- A resolved - DatasetRef(without components populated), or- Noneif no matching dataset was found.
 
- collection : 
 - 
insert(run: RunRecord, dataIds: Iterable[DataCoordinate]) → Iterator[DatasetRef]¶
- Insert one or more dataset entries into the database. - Parameters: - run : RunRecord
- The record object describing the - RUNcollection this dataset will be associated with.
- dataIds : Iterable[DataCoordinate]
- Expanded data IDs ( - DataCoordinateinstances) for the datasets to be added. The dimensions of all data IDs must be the same as- self.datasetType.dimensions.
 - Returns: - datasets : Iterable[DatasetRef]
- References to the inserted datasets. 
 
- run : 
 - 
select(collection: CollectionRecord, dataId: SimpleQuery.Select.Or[DataCoordinate] = <class 'lsst.daf.butler.core.simpleQuery.SimpleQuery.Select'>, id: SimpleQuery.Select.Or[Optional[int]] = <class 'lsst.daf.butler.core.simpleQuery.SimpleQuery.Select'>, run: SimpleQuery.Select.Or[None] = <class 'lsst.daf.butler.core.simpleQuery.SimpleQuery.Select'>) → Optional[SimpleQuery]¶
- Return a SQLAlchemy object that represents a - SELECTquery for this- DatasetType.- All arguments can either be a value that constrains the query or the - SimpleQuery.Selecttag object to indicate that the value should be returned in the columns in the- SELECTclause. The default is- SimpleQuery.Select.- Parameters: - collection : CollectionRecord
- The record object describing the collection to query. May not be of type - CollectionType.CHAINED.
- dataId : DataCoordinateorSelect
- The data ID to restrict results with, or an instruction to return the data ID via columns with names - self.datasetType.dimensions.names.
- id : int,Selector None,
- The integer primary key value for the dataset, an instruction to return it via a - idcolumn, or- Noneto ignore it entirely.
- run : NoneorSelect
- If - Select(default), include the dataset’s run key value (as column labeled with the return value of- CollectionManager.getRunForiegnKeyName). If- None, do not include this column (to constrain the run, pass a- RunRecordas the- collectionargument instead.)
 - Returns: 
- collection : 
 
- datasetType :