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
,DatabaseDimensionElement
A 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 itsrequired
dimensions appear, because it defines a relationship between those dimensions that must always be satisfied.- populated_by
Dimension
orNone
The dimension that this element’s records are always inserted, exported, and imported alongside.
- doc
str
Extended description of this element.
- name
Notes
DatabaseDimensionCombination
objects may belong to aTopologicalFamily
, but it is the responsibility ofDatabaseTopologicalFamilyConstructionVisitor
to update thetopology
attribute 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¶