DatabaseDimensionCombination¶
- class lsst.daf.butler.DatabaseDimensionCombination(name: str, *, required: NamedValueAbstractSet[Dimension], implied: NamedValueAbstractSet[Dimension], metadata_columns: NamedValueAbstractSet[IntColumnSpec | StringColumnSpec | FloatColumnSpec | HashColumnSpec | BoolColumnSpec], is_cached: bool, always_join: bool, populated_by: Dimension | None, doc: str)¶
Bases:
DimensionCombination,DatabaseDimensionElementA combination class that maps directly to a database table or query.
- Parameters:
- name
str Name of the dimension.
- required
NamedValueAbstractSet[Dimension] Dimensions whose keys define the compound primary key for this combinations’s (logical) table, as well as references to their own tables.
- implied
NamedValueAbstractSet[Dimension] Dimensions whose keys are included in this combinations’s (logical) table as foreign keys.
- metadata_columns
NamedValueAbstractSet[MetadataColumnSpec] Field specifications for all non-key fields in this combination’s table.
- is_cached
bool Whether this element’s records should be persistently cached in the client.
- always_join
bool, optional If
True, always include this element in any query or data ID in which itsrequireddimensions appear, because it defines a relationship between those dimensions that must always be satisfied.- populated_by
DimensionorNone The dimension that this element’s records are always inserted, exported, and imported alongside.
- doc
str Extended description of this element.
- name
Notes
DatabaseDimensionCombinationobjects may belong to aTopologicalFamily, but it is the responsibility ofDatabaseTopologicalFamilyConstructionVisitorto update thetopologyattribute of their members.This class has a lot in common with
DatabaseDimension, but they are expected to diverge in future changes, and the only way to make them share method implementations would be via multiple inheritance. Given the trivial nature of all of those implementations, this does not seem worth the drawbacks (particularly the constraints it imposes on constructor signatures).Attributes Summary
Indicate if the element should always be included.
Whether this element's records define one or more relationships that must be satisfied in rows over dimensions that include it.
The dimension that this element's records are always inserted, exported, and imported alongside.
Return the required dimensions.
Attributes Documentation
- alwaysJoin¶
- defines_relationships¶
- populated_by¶
- required¶