LSST Applications g0603fd7c41+022847dfd1,g0e03ccb3e3+1224bbe97e,g124d44cf3d+f497bfeb17,g180d380827+5d634bbe79,g2079a07aa2+86d27d4dc4,g2305ad1205+696e5f3872,g2bbee38e9b+047b288a59,g337abbeb29+047b288a59,g33d1c0ed96+047b288a59,g3a166c0a6a+047b288a59,g3d1719c13e+f45185db35,g487adcacf7+ae7f9b6dc5,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+248b16177b,g63cd9335cc+585e252eca,g858d7b2824+f45185db35,g991b906543+f45185db35,g99cad8db69+1747e75aa3,g9b9dfce982+78139cbddb,g9ddcbc5298+9a081db1e4,ga1e77700b3+a912195c07,gae0086650b+585e252eca,gb0e22166c9+60f28cb32d,gb23b769143+f45185db35,gb3a676b8dc+b4feba26a1,gb4b16eec92+f82f04eb54,gba4ed39666+c2a2e4ac27,gbb8dafda3b+36bd7b5ba8,gc120e1dc64+6485cba3fb,gc28159a63d+047b288a59,gc3e9b769f7+dcad4ace9a,gcf0d15dbbd+78139cbddb,gdaeeff99f8+f9a426f77a,ge79ae78c31+047b288a59,w.2024.19
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
lsst.dax.apdb.schema_model.Constraint Class Reference
Inheritance diagram for lsst.dax.apdb.schema_model.Constraint:
lsst.dax.apdb.schema_model.CheckConstraint lsst.dax.apdb.schema_model.ForeignKeyConstraint lsst.dax.apdb.schema_model.UniqueConstraint

Public Member Functions

Constraint from_felis (cls, felis.datamodel.Constraint dm_constr, Mapping[str, Column] columns)
 

Static Public Attributes

str name | None
 
str id
 
bool deferrable = False
 
str initially = None
 
str description = None
 
Mapping annotations = dataclasses.field(default_factory=dict)
 

Detailed Description

Constraint description, this is a base class, actual constraints will be
instances of one of the subclasses.

Definition at line 191 of file schema_model.py.

Member Function Documentation

◆ from_felis()

Constraint lsst.dax.apdb.schema_model.Constraint.from_felis ( cls,
felis.datamodel.Constraint dm_constr,
Mapping[str, Column] columns )
Convert Felis constraint definition into instance of this class.

Parameters
----------
dm_const : `felis.datamodel.Constraint`
    Felis constraint definition.
columns : `~collections.abc.Mapping` [`str`, `Column`]
    Mapping of column ID to `Column` instance.

Returns
-------
constraint : `Constraint`
    Converted constraint definition.

Definition at line 215 of file schema_model.py.

215 def from_felis(cls, dm_constr: felis.datamodel.Constraint, columns: Mapping[str, Column]) -> Constraint:
216 """Convert Felis constraint definition into instance of this class.
217
218 Parameters
219 ----------
220 dm_const : `felis.datamodel.Constraint`
221 Felis constraint definition.
222 columns : `~collections.abc.Mapping` [`str`, `Column`]
223 Mapping of column ID to `Column` instance.
224
225 Returns
226 -------
227 constraint : `Constraint`
228 Converted constraint definition.
229 """
230 if isinstance(dm_constr, felis.datamodel.UniqueConstraint):
231 return UniqueConstraint(
232 name=dm_constr.name,
233 id=dm_constr.id,
234 columns=[columns[c] for c in dm_constr.columns],
235 deferrable=dm_constr.deferrable,
236 initially=dm_constr.initially,
237 description=dm_constr.description,
238 annotations=_strip_keys(
239 dict(dm_constr),
240 ["name", "type", "id", "columns", "deferrable", "initially", "description"],
241 ),
242 )
243 elif isinstance(dm_constr, felis.datamodel.ForeignKeyConstraint):
244 return ForeignKeyConstraint(
245 name=dm_constr.name,
246 id=dm_constr.id,
247 columns=[columns[c] for c in dm_constr.columns],
248 referenced_columns=[columns[c] for c in dm_constr.referenced_columns],
249 deferrable=dm_constr.deferrable,
250 initially=dm_constr.initially,
251 description=dm_constr.description,
252 annotations=_strip_keys(
253 dict(dm_constr),
254 [
255 "name",
256 "id",
257 "type",
258 "columns",
259 "deferrable",
260 "initially",
261 "referenced_columns",
262 "description",
263 ],
264 ),
265 )
266 elif isinstance(dm_constr, felis.datamodel.CheckConstraint):
267 return CheckConstraint(
268 name=dm_constr.name,
269 id=dm_constr.id,
270 expression=dm_constr.expression,
271 deferrable=dm_constr.deferrable,
272 initially=dm_constr.initially,
273 description=dm_constr.description,
274 annotations=_strip_keys(
275 dict(dm_constr),
276 ["name", "id", "type", "expression", "deferrable", "initially", "description"],
277 ),
278 )
279 else:
280 raise TypeError(f"Unexpected constraint type: {dm_constr.type}")
281
282
283@dataclasses.dataclass

Member Data Documentation

◆ annotations

Mapping lsst.dax.apdb.schema_model.Constraint.annotations = dataclasses.field(default_factory=dict)
static

Definition at line 211 of file schema_model.py.

◆ deferrable

bool lsst.dax.apdb.schema_model.Constraint.deferrable = False
static

Definition at line 202 of file schema_model.py.

◆ description

str lsst.dax.apdb.schema_model.Constraint.description = None
static

Definition at line 208 of file schema_model.py.

◆ id

str lsst.dax.apdb.schema_model.Constraint.id
static

Definition at line 199 of file schema_model.py.

◆ initially

str lsst.dax.apdb.schema_model.Constraint.initially = None
static

Definition at line 205 of file schema_model.py.

◆ name

str lsst.dax.apdb.schema_model.Constraint.name | None
static

Definition at line 196 of file schema_model.py.


The documentation for this class was generated from the following file: