ChainedCollectionRecord

class lsst.daf.butler.registry.interfaces.ChainedCollectionRecord(name: str)

Bases: lsst.daf.butler.registry.interfaces.CollectionRecord

A subclass of CollectionRecord that adds the list of child collections in a CHAINED collection.

Parameters:
name : str

Name of the collection.

Attributes Summary

children The ordered search path of child collections that define this chain (CollectionSearch).
key The primary/foreign key value for this collection.

Methods Summary

refresh(manager) Load children from the database, using the given manager to resolve collection primary key values into records.
update(manager, children) Redefine this chain to search the given child collections.

Attributes Documentation

children

The ordered search path of child collections that define this chain (CollectionSearch).

key

The primary/foreign key value for this collection.

Methods Documentation

refresh(manager: lsst.daf.butler.registry.interfaces._collections.CollectionManager)

Load children from the database, using the given manager to resolve collection primary key values into records.

This method exists to ensure that all collections that may appear in a chain are known to the manager before any particular chain tries to retrieve their records from it. ChainedCollectionRecord subclasses can rely on it being called sometime after their own __init__ to finish construction.

Parameters:
manager : CollectionManager

The object that manages this records instance and all records instances that may appear as its children.

update(manager: lsst.daf.butler.registry.interfaces._collections.CollectionManager, children: lsst.daf.butler.registry.wildcards.CollectionSearch)

Redefine this chain to search the given child collections.

This method should be used by all external code to set children. It delegates to _update, which is what should be overridden by subclasses.

Parameters:
manager : CollectionManager

The object that manages this records instance and all records instances that may appear as its children.

children : CollectionSearch

A collection search path that should be resolved to set the child collections of this chain.

Raises:
ValueError

Raised when the child collections contain a cycle.