DatabaseDimensionOverlapStorage

class lsst.daf.butler.registry.interfaces.DatabaseDimensionOverlapStorage

Bases: abc.ABC

A base class for objects that manage overlaps between a pair of database-backed dimensions.

Attributes Summary

elements The pair of elements whose overlaps this object manages.

Methods Summary

digestTables() Return tables used for schema digest.
initialize(db, elementStorage, …) Construct an instance of this class using a standardized interface.

Attributes Documentation

elements

The pair of elements whose overlaps this object manages.

The order of elements is the same as their ordering within the DimensionUniverse.

Methods Documentation

digestTables() → collections.abc.Iterable[sqlalchemy.sql.schema.Table]

Return tables used for schema digest.

Returns:
tables : Iterable [ sqlalchemy.schema.Table ]

Possibly empty set of tables for schema digest calculations.

classmethod initialize(db: Database, elementStorage: tuple[DatabaseDimensionRecordStorage, DatabaseDimensionRecordStorage], governorStorage: tuple[GovernorDimensionRecordStorage, GovernorDimensionRecordStorage], context: StaticTablesContext | None = None) → DatabaseDimensionOverlapStorage

Construct an instance of this class using a standardized interface.

Parameters:
db : Database

Interface to the underlying database engine and namespace.

elementStorage : tuple [ DatabaseDimensionRecordStorage ]

Storage objects for the elements this object will related.

governorStorage : tuple [ GovernorDimensionRecordStorage ]

Storage objects for the governor dimensions of the elements this object will related.

context : StaticTablesContext, optional

If provided, an object to use to create any new tables. If not provided, db.ensureTableExists should be used instead.

Returns:
storage : DatabaseDimensionOverlapStorage

A new DatabaseDimensionOverlapStorage subclass instance.